我在Java中运行Selenium WebDriver(ChromeDriver)来执行一些基本的自动化,需要用户输入。用户可以随时单击窗口的关闭(红色X)按钮。这不会调用driver.quit()
来正确退出驱动程序,让它在后台运行并抛出WebDriverException
,我不想发生这种情况。我知道浏览器窗口操作没有事件监听器。我试过这样做:
WebDriver driver = null;
try {
driver = new ChromeDriver();
//do more stuff here
WebDriverWait wait = new WebDriverWait(driver, 120);
wait.until(
//waiting conditions
);
} catch (WebDriverException e) { //thrown after can't reach browser (browser closed)
//handle exception
} finally {
if (driver != null)
driver.quit();
}
//continue with non-WebDriver parts of program
但是,我需要程序快速继续,并且在窗口关闭后通常需要几秒钟才能抛出异常。而且,无论如何,这种方法感觉就像糟糕的编程。
手动关闭后退出ChromeDriver有更好的方法吗?
答案 0 :(得分:0)
你可以在finally块中调用driver.quit
答案 1 :(得分:0)
浏览器.quit或browser.close函数.. 或者使用.kill函数杀死chrome处理器.. 这个解决方案可以帮助你...