我搜索了无数网页,但没有得到很好的答案。我使用 C# 在 Selenium 2.30 上。
我试过了
if (browser.FindElement(By.XPath("xpath")).Displayed)
我试过了
if (browser.FindElements(By.XPath("xpath")).Count !=0)
并且
IWebElement element = browser.FindElement(By.XPath("xpath"));
if (element.Displayed == true)
它们仅在元素存在时起作用,但如果不存在,它将退出异常。但这不是必要的例外,我在 else{} 语句中有一些东西可以处理它,我不希望 webdriver 一开始就阻止我。
我现在正在做的是
IWebElement element = null;
try
{
element = browser.FindElement(By.XPath("xpath"));
}
catch
{
}
if (element != null)
这种方式到目前为止有效,但我认为这不是最好的解决方案。如果有人可以向我展示更好的方法,我将不胜感激。