在selenium Web浏览器中获取浏览器关闭事件

时间:2015-06-25 11:14:13

标签: java selenium-webdriver

我在java swings应用程序中使用selenium web驱动程序在单个选项卡中打开网页但是当我手动关闭浏览器时我没有得到它的任何事件而它没有为我工作。有没有办法在selenium中获得浏览器关闭事件?

1 个答案:

答案 0 :(得分:0)

我通过捕获异常来解决它,当我手动关闭浏览器然后尝试在我的应用程序结束时再次关闭它时我得到了。 从那个catch块开始,我只是通过再次实例化Web驱动程序来重新打开浏览器。

catch (Exception _e) {

                log.error(_e);
                System.out.println("Browser already closed");
    //launching the web browser again
                String path="";

            if(browserName.contains("chrome")){
                try {
                    path = System.getProperty("user.dir")+"\\BrowserExeFiles\\chromedriver.exe";
                    OpenURL.driver = new ChromeDriver();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            else if(browserName.contains("ie")){
                try{
                    path=System.getProperty("user.dir")+"\\BrowserExeFiles/ie.exe";
                    OpenURL.driver = new InternetExplorerDriver();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            else if(browserName.contains("firefox")){
                String firefox_Path = getFirfoxPath();
            File pathToBinary = new File(firefox_Path);
            FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
            FirefoxProfile firefoxProfile = new FirefoxProfile();       
            driver = new FirefoxDriver(ffBinary,firefoxProfile);
            }

        }
driver.get(urlString);
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
}