如何让Java中的selenium驱动程序暂时等待几秒钟,只是为了暂停驱动程序?
答案 0 :(得分:2)
只需Thread.sleep(1000)
逗留1秒钟。
答案 1 :(得分:1)
使用selenium有不同的等待方式:
WebDriver driver = new FirefoxDriver(); driver.get("http://somedomain/url_that_delays_loading"); WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));
在抛出TimeoutException之前等待最多10秒,或者如果它发现元素将在0-10秒内返回
WebDriver driver = new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get("http://somedomain/url_that_delays_loading"); WebElement myDynamicElement = driver.findElement(By.id("myDynamicElement"));
你也可以使用Thread.sleep(),不建议这样做但如果你只是调试这是最简单的方法。
您可以查看Selenium documentation以更好地了解如何使用等待。
答案 2 :(得分:0)
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
似乎可以做到这一点。
答案 3 :(得分:0)
fun WebDriver.delay(timeout: Duration) {
val until = System.currentTimeMillis() + timeout.toMillis()
WebDriverWait(this, timeout).until {
return@until until <= System.currentTimeMillis()
}
}
这是 kotlin 扩展代码。通常的方法是这样的:
fun delay(driver: WebDriver, timeout: Duration) {
val until = System.currentTimeMillis() + timeout.toMillis()
WebDriverWait(driver, timeout).until {
return@until until <= System.currentTimeMillis()
}
}