我使用硒與C#寫一個測試,但現在我面臨一個問題。如何定位webelement與網站
這是我的html。我怎樣才能找到網頁上的「100」?
< ul>
< li class=""> 100 < /li>
< li class=""> 200 < /li>
< li class=""> 300 < /li>
< li class=""> 400 < /li>
< li class=""> 500 < /li>
< /ul>
我使用硒與C#寫一個測試,但現在我面臨一個問題。如何定位webelement與網站
這是我的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(); }
}
好,謝謝,我會嘗試。 – Sam
當文本的開頭或結尾有空格時,我更喜歡使用contains()函數。因此,xpath將是「// li [contains(text(),'100')]」 – JacekM
是的,這是非常真實的,但我的印象是這只是他的示例代碼中的一個錯字。有很多方法可以找到元素,他應該選擇適合他的方法。 – Arran