java - `elementToBeClickable` 只是检查它是否可见并启用

标签 java selenium selenium-webdriver

我很初学者,使用Selenium和Java编写测试,有时我需要点击的Web元素被其他人覆盖,根据this现在 elementToBeClickable 只是检查它是否可见并启用。有什么办法可以解决这个问题吗?

最佳答案

elementToBeClickable just checks that it's visible and enabled

这绝对是真的 - 预期条件并非基于实际情况 Element Displayedness - 但是,isDisplayed() 完全基于提到的 WebDriver 规范 - 在自定义预期条件中调用它:

public static ExpectedCondition<WebElement> isDisplayed(final By locator) {
    return new ExpectedCondition<WebElement>() {

        public WebElement apply(WebDriver driver) {
            WebElement element = webDriver.findElement(locator); 
            if (element.isDisplayed()) {
                return element;
            }
        }
    };
}

用法:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(isDisplayed(By.id("myid")));

关于java - `elementToBeClickable` 只是检查它是否可见并启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34601246/

相关文章:

javascript - Selenium 发送键不起作用

java - pptx4j绘制图表时出现重复数据

java - JavaBean 和 Spring bean 的区别

java - 如何将多个字符串变量放置在 3d 数组的一个坐标中?

java - 关于java中的异常捕获

java - 如何通过 Selenium Webdriver 将文本发送到搜索字段?

java - xvfb 与 Selenium 。显示已在使用错误

python - 是否有网页阻止 find_element 功能工作?世贸组织官方资料库

java - Selenium Webdriver 无法从 webtable 中找到元素

java - 使用 Selenium Webdriver (Java) 处理操作系统弹出窗口