我使用了下面的代码,发现 TRY 块不适用于元素不存在的情况:
try
{
var actual = new WebDriverWait(m_WebDriver, TimeSpan
.FromSeconds(5))
.Until(ExpectedConditions
.ElementIsVisible(By.XPath(XpathUnderTest)))
.Displayed;
return actual;
}
catch (Exception ex)
{
return false;
}
我有一个用例,其中 Webelement 的存在取决于其他条件,因此它在网页上始终不存在或不可见。如果元素存在,则它正在工作,如果元素不存在,则 Try catch 无法使用您上面的代码处理场景。
我也试过: bool isPresent = Driver.Findelements.(xpath).Count() > 0; // 列表,但如果元素不存在,它就不能正常工作