2

我使用seleniumC#编写测试,但现在我遇到了一个问题。

这是我的html。如何在网页上找到“100”?

< ul>

 < li class=""> 100 < /li>

 < li class=""> 200 < /li>

 < li class=""> 300 < /li>

 < li class=""> 400 < /li>

 < li class=""> 500 < /li>

< /ul>
4

3 回答 3

8
IWebDriver Driver = new FirefoxDriver();
IWebElement element = Driver.FindElement(By.XPath("//li[text()=' 100 ']"));
于 2012-06-13T09:16:58.413 回答
4

也可以不用 xpath 来完成:

driver.FindElements(By.TagName("li")).Where(elem => elem.Text.Trim() == "100").FirstOrDefault();
于 2012-06-13T09:33:18.610 回答
0

我更喜欢这样做:

  1. 获取页面上的所有元素。
  2. 遍历检查文本的元素。
IList<IWebElement> allElements = driver.FindElements(By.CssSelector("*"));
foreach (var element in allElements)
{
    if (element.Text == "My inner text that I am looking for") { element.Click(); }
}
于 2013-10-29T23:51:11.707 回答