相关疑难解决方法(0)

何时在Selenium Webdriver中使用显式等待vs隐式等待?

我在用:

driver.manage().timeouts().implicitlyWait(180, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)

但是对于下面的元素,它仍然会不断失败

    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys("Create_title_01");
Run Code Online (Sandbox Code Playgroud)

我添加了等待代码:

for (int second = 0;; second++) {
        if (second >= 120) fail("timeout");
        try { if (isElementPresent(By.id("name"))) break; } catch (Exception e) {}
        Thread.sleep(1000);
    }
Run Code Online (Sandbox Code Playgroud)

不应该隐含等待,直到找到一个元素?如果我使用显式等待而不是我添加的代码,它会更好Thread.sleep()吗?

java selenium selenium-webdriver

46
推荐指数
3
解决办法
7万
查看次数

标签 统计

java ×1

selenium ×1

selenium-webdriver ×1