如何在手动关闭窗口时正确退出Selenium ChromeDriver?

时间:2017-12-10 01:39:52

标签: java selenium-chromedriver

我在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有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

你可以在finally块中调用driver.quit

答案 1 :(得分:0)

浏览器.quit或browser.close函数.. 或者使用.kill函数杀死chrome处理器.. 这个解决方案可以帮助你...