我使用selenium和C#编写测试,但现在我遇到了一个问题。
这是我的html。如何在网页上找到“100”?
< ul>
< li class=""> 100 < /li>
< li class=""> 200 < /li>
< li class=""> 300 < /li>
< li class=""> 400 < /li>
< li class=""> 500 < /li>
< /ul>
我使用selenium和C#编写测试,但现在我遇到了一个问题。
这是我的html。如何在网页上找到“100”?
< ul>
< li class=""> 100 < /li>
< li class=""> 200 < /li>
< li class=""> 300 < /li>
< li class=""> 400 < /li>
< li class=""> 500 < /li>
< /ul>
IWebDriver Driver = new FirefoxDriver();
IWebElement element = Driver.FindElement(By.XPath("//li[text()=' 100 ']"));
也可以不用 xpath 来完成:
driver.FindElements(By.TagName("li")).Where(elem => elem.Text.Trim() == "100").FirstOrDefault();
我更喜欢这样做:
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(); }
}