我使用Selenium WebDriver编写了一组用Java编写的类,用于在许多不同的网站上自动执行各种任务,例如登录和获取数据。
我们有时需要自己访问该页面才能找到一些东西,而且手动登录的过程非常......好,无聊,浪费时间。
我认为既然我们已经拥有了登录宏,为什么我们不让selenium处理它。
我想打开一个新的浏览器,执行登录程序,然后关闭selenium。然后,用户将恢复他们想在网站上执行的任何任务。
我注意到如果我没有正确关闭Selenium,它会在temp文件夹中留下一个匿名配置文件。加班,在我意识到这种情况发生之前,我已经积累了大量的演出。事实证明这是因为我没有使用close
和quit
但是,如果我使用这些方法,浏览器将关闭它。刚才我测试了如下
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应用程序以编程方式启动它。
答案 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)