webdriver 执行完毕关闭chromedriver进程
生活随笔
收集整理的這篇文章主要介紹了
webdriver 执行完毕关闭chromedriver进程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景:一個網站的登錄部分用到了selenium,但是在多次登錄之后,發現進程里殘留了很多的chromedriver.exe進程。項目打成jar包之后放到另外的機器上跑,發現不久之后就開始卡頓,甚至于彈不出瀏覽器的窗口,所以懷疑是不是因為chromedriver.exe殘留進程太多導致的。而且由于個人有強迫癥,所以這個決定優化一下。
原始的代碼:
System.setProperty("webdriver.chrome.driver", webDriverPath); WebDriver driver = new ChromeDriver(); driver.get("xxxxxxxxxx"); 關閉是用的driver.quit(),而不是driver.close()。這兩個區別如下:close只會關閉當前窗口
quit會推出驅動別切關閉所關聯的所有窗口
后面就去百度一些,相關網址跟解決的代碼貼下面。
https://www.testwo.com/blog/6931
最終解決的代碼:
ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(new File(webDriverPath)).usingAnyFreePort().build(); try {service.start(); } catch (IOException e) {e.printStackTrace(); } // System.setProperty("webdriver.chrome.driver", webDriverPath); // WebDriver driver = new ChromeDriver(); WebDriver driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome()); driver.get("xxxxxxxx");關閉的代碼:
driver.quit(); service.stop();總結
以上是生活随笔為你收集整理的webdriver 执行完毕关闭chromedriver进程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaweb学习总结(三十九):数据库
- 下一篇: ReenTrantLock可重入锁(和s