我想要完成的是浏览到一个页面,等待加载某些内容,然后拍摄并保存屏幕截图。
我已经有的代码是
WebDriver driver = new FirefoxDriver();
driver.get("http://www.site.com");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
try {
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("/home/Desktop/image.png"));
} catch (Exception e) {
e.printStackTrace();
}
driver.close();
我需要等待的原因,即使页面已加载是因为它会被加载,但在网站上我想拍照的内容会在几秒钟后加载。出于某种原因,页面没有等待,是否可以使用另一种方法让驱动程序/页面等待 X 秒?
最佳答案
您可以找到在初始页面加载后加载的元素,然后让 Selenium 等待直到找到该元素。
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("ID")));
关于java - 让 Selenium 暂停 X 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20009211/