【问题标题】:Selenium + Chrome Webdrivers killing memorySelenium + Chrome Webdrivers 杀死内存
【发布时间】:2018-07-21 04:51:39
【问题描述】:
每次我运行使用 Chrome Webdriver 的 selenium 脚本时,我发现在执行结束时,我的驱动器中的内存明显减少(~50 Mb)。我没有在任何地方提取/存储数据,我只是指示它完成一系列点击以导航某些 UI,那么为什么会发生这种情况呢?我怀疑这与我的 webdrivers 从未真正退出有关,但我不确定为什么会这样?如果我过早地关闭了由 selenium 运行的 chrome 页面,我假设驱动程序也关闭了?在它确实结束运行的情况下,我明确地对驱动程序进行编程以退出。
此外,我无法再通过我的桌面打开 chrome。它根本无法启动。
有人可以给我一些建议或启发我了解导致此问题的幕后实际发生的事情吗?
【问题讨论】:
标签:
selenium
selenium-webdriver
【解决方案1】:
当执行开始时,chromedriver 在这个位置创建一些临时目录:
C:\Users\username\AppData\Local\Temp
这些目录以“scoped_dir8952_11195”之类的名称开头,chrome 在 temp 文件夹中创建的每个目录都以“scoped_dir”开头。
当 driver.quit() 或 close() 被调用时,它应该被删除,但如果它没有被删除,那么你必须在使用 java 代码执行后删除它,或者你可以简单地创建一个 .bat 文件来删除以 name 开头的目录“scoped_dir”,然后可以使用 ProcessBuilder 或 Runtime.exec() 执行它。
如果需要,您也可以手动删除它们。
希望对你有所帮助。