关闭Selenium而不关闭浏览器,同时清理临时文件

时间:2014-09-02 15:26:48

标签: java selenium

我使用Selenium WebDriver编写了一组用Java编写的类,用于在许多不同的网站上自动执行各种任务,例如登录和获取数据。

我们有时需要自己访问该页面才能找到一些东西,而且手动登录的过程非常......好,无聊,浪费时间。

我认为既然我们已经拥有了登录宏,为什么我们不让selenium处理它。

我想打开一个新的浏览器,执行登录程序,然后关闭selenium。然后,用户将恢复他们想在网站上执行的任何任务。

我注意到如果我没有正确关闭Selenium,它会在temp文件夹中留下一个匿名配置文件。加班,在我意识到这种情况发生之前,我已经积累了大量的演出。事实证明这是因为我没有使用closequit

正确关闭硒

但是,如果我使用这些方法,浏览器将关闭它。刚才我测试了如下

WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
driver.close()  // shuts down the browser

然后我试了

WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
driver.quit() // shuts down the browser

在清理所有这些匿名配置文件时,我有没有办法在不关闭浏览器的情况下关闭Selenium?我基本上将它用作宏,除了我通过管理所有不同宏的Java应用程序以编程方式启动它。

2 个答案:

答案 0 :(得分:0)

您可以退出程序,同时保持浏览器不变。假设您有一个控制台应用程序:

WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
System.exit(0);

答案 1 :(得分:0)

代码编写完成后,终止可执行进程,然后不使用driver.quit()退出程序

    try{
    /*kill the process*/
        Runtime.getRuntime().exec("taskkill /im chromedriver.exe /f");
        Thread.sleep(10000);
    }catch(Exception e){
        e.printStackTrace();

    }
    /*Exit*/
    System.exit(0)