これは、セレン ユーザーにとっては簡単な質問かもしれません。
Name、TagName、Css などの要素を検索する際に使用できる属性をいくつか知っています。
しかし、その属性に基づいて要素を見つけるために、C# で "link=-----" のようなものを使用できますか??
Selenium IDE に慣れていないので、ここでlink=601-800 students
は<a href='something'>601-800 students</a>
.
次に、 を使用By.XPath
してテキスト付きのリンクを見つけるか、 を使用することBy.LinkText
もできますBy.PartialLinkText
。
driver.FindElement(By.XPath("//a[text()='601-800 students']"));
//driver.FindElement(By.LinkText("601-800 students"));
編集:
同じテキストのリンクがいくつかある場合は、固有の先祖を特定してみてください。
例えば
var headLink = driver.FindElement(By.XPath("//*[@id='header']//a[text()='601-800 students']"));
var mainLink = driver.FindElement(By.XPath("//*[@id='main']//a[text()='601-800 students']"));
それが不可能な場合は、それらをまとめてFindElements
(これは ではないことに注意してくださいFindElement
)、インデックスを作成します。
IList<IWebElement> links = driver.FindElements(By.XPath("//a[text()='601-800 students']"));
//IList<IWebElement> links = driver.FindElements(By.LinkText("601-800 students"));
var firstLink = links[0];
var secondLink = links[1];
foreach(IWebElement link in links) {
// stuff to do with link
}