【发布时间】:2013-11-28 06:03:25
【问题描述】:
ProfilesIni profile = new ProfilesIni();
FirefoxProfile ff = profile.getProfile("ScreenCapture");
WebDriver driver = new FirefoxDriver(ff);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.get(url);
Thread.sleep(8000);
File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
driver.quit();
不应该 driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); 在 15 秒后强制关闭 selenium 生成的 Firefox 浏览器吗?浏览器只是坐着说它正在传输一个小时以上的数据。基本上只是挂着说它正在转移......
我正在捕获 ajax 繁重的页面,这就是为什么我要求所有内容在页面加载后等待 8 秒。但这应该与驱动程序在 15 秒后强制关闭无关。
我哪里错了?
详细信息:Centos x64 6.4 与 Firefox 10.0.12 和 10 分钟前的最新 Selenium。
我可以用 Java 做些什么来解决这个问题吗?
问题:如何在 N 秒后强制关闭 Selenium 生成的 Firefox 窗口?
【问题讨论】:
-
隐式等待功能旨在强制 Selenium 在使用 findElement 定位元素时等待(在您的情况下为 15 秒)以等待元素出现。但是,在您显示的代码的情况下,没有进行任何 findElement 调用。这应该会创建一个新的 firefox 实例,等待 8 秒,截屏,退出 firefox,然后退出驱动程序。
-
谢谢@Richard 如果只是使用 Selenium 挂起,我如何在 15 秒后强制关闭浏览器?
-
如果 firefox 仍在运行,您可以在 n 秒后终止 firefox 进程。
-
@Faiz 你能在 n 秒后将一些 Java 放入答案中吗?这就是我难倒的地方......
-
@Chris - 添加了一个带有 java 代码的答案以终止进程。
标签: selenium selenium-webdriver