我正在使用Selenium WebDriver拍摄网页的屏幕截图。运行良好。但是,从我点击eclipse运行到屏幕快照在本地驱动器中显示的时间为7-10秒。大多数延迟似乎是在启动Firefox。
码:
WebDriver driver = new FirefoxDriver(); driver.get("http://www.cnn.com"); File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile, new File("c:\\test\\screenshot.png"));
如何加快此过程?有没有一种方法可以使用已经打开的Firefox浏览器来节省打开新浏览器的时间?这段代码是否繁重?
详细信息:尝试使用eclipse在CentOS和Win7上使用。myspeedtest.net显示下降22 Mbps和上升1 Mbps。
您所要求的(允许WebDriver附加到正在运行的浏览器上)已经将近3年了。迄今为止,此功能尚未添加。据我所知,还没有办法使Firefox加载更快。您可以尝试其他一些技巧。
WebDriver
fp.setPreference("webdriver.load.strategy", "unstable")
引用此页面上的警告:
有beta功能可以使Firefox在调用.get或.click之后不等待整个页面加载。这可能会导致立即查找中断,因此请确保也使用隐式或显式等待。仅适用于Firefox,不适用于其他浏览器。