webdriver 执行完毕关闭chromedriver进程
生活随笔
收集整理的這篇文章主要介紹了
webdriver 执行完毕关闭chromedriver进程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
背景:一個(gè)網(wǎng)站的登錄部分用到了selenium,但是在多次登錄之后,發(fā)現(xiàn)進(jìn)程里殘留了很多的chromedriver.exe進(jìn)程。項(xiàng)目打成jar包之后放到另外的機(jī)器上跑,發(fā)現(xiàn)不久之后就開(kāi)始卡頓,甚至于彈不出瀏覽器的窗口,所以懷疑是不是因?yàn)閏hromedriver.exe殘留進(jìn)程太多導(dǎo)致的。而且由于個(gè)人有強(qiáng)迫癥,所以這個(gè)決定優(yōu)化一下。
原始的代碼:
System.setProperty("webdriver.chrome.driver", webDriverPath); WebDriver driver = new ChromeDriver(); driver.get("xxxxxxxxxx"); 關(guān)閉是用的driver.quit(),而不是driver.close()。這兩個(gè)區(qū)別如下:close只會(huì)關(guān)閉當(dāng)前窗口
quit會(huì)推出驅(qū)動(dòng)別切關(guān)閉所關(guān)聯(lián)的所有窗口
后面就去百度一些,相關(guān)網(wǎng)址跟解決的代碼貼下面。
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");關(guān)閉的代碼:
driver.quit(); service.stop();總結(jié)
以上是生活随笔為你收集整理的webdriver 执行完毕关闭chromedriver进程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: javaweb学习总结(三十九):数据库
- 下一篇: ReenTrantLock可重入锁(和s