Selenium框架重启Chrome时提示“Chrome未正确关闭”问题求助
解决Selenium启动Chrome时“未正确关闭”的提示问题
嘿,这个问题我太熟了!每次跑自动化测试弹这个提示确实影响效率,咱们从几个维度来搞定它:
1. 确保测试结束时彻底关闭浏览器进程
很多时候问题出在测试用例执行完后,浏览器或chromedriver进程没完全杀掉,导致下次启动时Chrome认为上次异常退出。
- 一定要用
driver.quit()而不是driver.close():close()只会关闭当前标签页,quit()才会终止整个浏览器实例和chromedriver进程。 - 如果还是有进程残留(尤其是Windows系统),可以在测试的teardown阶段手动清理进程:
// 在测试结束的清理方法中添加这段代码 try { Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe /IM chrome.exe"); } catch (IOException e) { e.printStackTrace(); }
2. 通过ChromeOptions禁用崩溃提示&使用干净的用户环境
给ChromeOptions添加几个关键参数,让每次启动都是“全新”的状态,跳过异常关闭的检查:
ChromeOptions options = new ChromeOptions(); // 禁用自动化扩展(你已经加了这个,很好) options.setExperimentalOption("useAutomationExtension", false); // 禁用崩溃恢复提示气泡,直接解决弹窗问题 options.addArgument("--disable-session-crashed-bubble"); // 使用临时用户数据目录,每次启动都是干净环境,避免残留状态 options.addArgument("--user-data-dir=" + System.getProperty("java.io.tmpdir") + "/chrome_temp_" + System.currentTimeMillis()); // 禁用首次运行提示 options.addArgument("--no-first-run"); // 禁用信息栏(可选,减少干扰) options.addArgument("--disable-infobars"); // 禁用扩展(可选,避免扩展干扰测试) options.addArgument("--disable-extensions"); // 初始化driver WebDriver driver = new ChromeDriver(options);
3. 检查chromedriver和Chrome版本兼容性
如果你的chromedriver和Chrome浏览器版本不匹配,也可能导致异常退出的情况。确保两者版本严格对应:比如Chrome 114.x对应chromedriver 114.x,以此类推。
试试上面的方法,基本能解决这个烦人的提示啦!
内容的提问来源于stack exchange,提问作者VISHVAMBRUTH J T
相关产品推荐
相关产品推荐

