对于硒用户来说,这可能是一个简单的问题:
我知道在查找元素时可以使用的一些属性:Name,TagName,Css等等。
但是我们可以在c#中使用类似“link = -----”的东西来进行基于该属性的元素查找吗?
答案 0 :(得分:1)
不熟悉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"));
修改强>
如果您有一些带有相同文字的链接,请尝试识别唯一的祖先。
E.g。
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
}