【问题标题】:Explicit wait is not working if I use it with implicit wait in my code如果我在代码中将其与隐式等待一起使用,则显式等待不起作用
【发布时间】:2021-04-09 11:29:48
【问题描述】:

我有一个基类,我在其中设置了驱动程序并提到了 15 秒的隐式等待

driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

现在在我的测试类中,我想使用 webdriver 等待特定元素,我声明我的 webdriver 等待如下

WebDriverWait wait = new WebDriverWait(driver,30);wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.id("a")));

但发生的情况是,当我的代码在上面一行只等待 15 秒时,它应该等待 30 秒

【问题讨论】:

    标签: java selenium-webdriver webdriverwait implicitwait


    【解决方案1】:

    据我了解,这是正确的行为

    简单的解决方案是不使用隐式等待而只使用显式

    更详细的答案可以在这里找到,它来自 Jim Evans(Selenium 团队的成员) https://stackoverflow.com/a/15174978/2818711

    【讨论】:

    • 暂时不使用隐式等待。但是,我在上面的链接中看到了关闭隐式等待然后使用 webdriver 等待的建议,但这对我也不起作用。如果我关闭隐式等待,那么它会立即抛出找不到元素的异常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 2017-07-17
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    相关资源
    最近更新 更多