您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Selenium WebDriver:流畅的等待按预期方式工作,但隐式等待不起作用

Selenium WebDriver:流畅的等待按预期方式工作,但隐式等待不起作用

请记住,以下几种情况有所不同:

我的猜测是,如果某些页面使用javascript显示,则元素已经存在于浏览器DOM中,但不可见。隐式等待仅等待元素出现在DOM中,因此它会立即返回,但是当您尝试与该元素进行交互时,您会收到NoSuchElementException。您可以通过编写一个辅助方法来检验此假设,该方法显式等待元素可见或可单击。

一些示例(在Java中):

public WebElement getWhenVisible(By locator, int timeout) {
    WebElement element = null;
    webdriverwait wait = new webdriverwait(driver, timeout);
    element = wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
    return element;
}

public void clickWhenReady(By locator, int timeout) {
    webdriverwait wait = new webdriverwait(driver, timeout);
    WebElement element = wait.until(ExpectedConditions.elementToBeClickable(locator));
    element.click();
}
其他 2022/1/1 18:21:32 有250人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶