有没有一种方法来测试一个元素是否存在?任何 FindElement方法都会以异常结束,但这不是我想要的,因为可能有一个元素不存在,这没问题。这不是测试失败,因此异常不能成为解决方案。
我发现了这个帖子: Selenium C # WebDriver: 等到元素出现。
但这是针对 C # 的,我不是很擅长。Java 中的代码是什么?我在 日食中尝试了一下,但是我没有把它正确地放入 Java 代码中。
这是密码:
public static class WebDriverExtensions{
public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds){
if (timeoutInSeconds > 0){
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
return wait.Until(drv => drv.FindElement(by));
}
return driver.FindElement(by);
}
}