selenium + chrome109以上版本会自动在C:\Program Files (x86)目录下创建scoped_dir*文件夹

这篇具有很好参考价值的文章主要介绍了selenium + chrome109以上版本会自动在C:\Program Files (x86)目录下创建scoped_dir*文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题如标题所述使用selenium操作chrome109以上版本会在C:\Program Files (x86)目录下创建scoped_dir*文件夹,每次启动都会创建一个,文件夹内容为浏览器的用户配置,大小在20M左右,多次操作后会导致磁盘占满问题。
经过查询问题是chromedriver导致,官方仍未修复此问题。
可通过以下地址查看问题描述与根因:
https://github.com/SeleniumHQ/selenium/issues/11555
https://bugs.chromium.org/p/chromedriver/issues/detail?id=4322

问题根因:

scoped dir大量临时文件,工作记录,selenium,测试工具,chrome,scoped_dir
生肉翻译下来大致解释就是chromium 团队认为当使用高权限运行浏览器时,临时文件仍然会生成在temp目录下,这会被任意的用户修改,他们没办法忍受这一点。所以就把临时文件和文件夹都创建在了只有管理员可以访问的地址,那就是C:\Program Files。

解决办法:

当前并没有什么很好的解决方法,只能是在seleniun代码中显示的指定 user-data-dir参数 或者 使用driver.quit()来正确的关闭驱动。
使用前者将user-data-dir重新指定到temp目录,这样可以保证每次运行完后temp目录会自动删除。后者则是驱动正常退出后也会删除temp目录,即scoped_dir*目录。但是使用driver.quit()方法的话得保证每次chromedriver都是正常退出的,若是异常退出的话临时文件就会一直留着了。
user-data-dir参数示例:

chrome_options = Options()
options.add_argument(r'user-data-dir=C:\Users\Your_User_Name\AppData\Local\Google\Chrome\User Data')

scoped dir大量临时文件,工作记录,selenium,测试工具,chrome,scoped_dir

另外这个回答也提到了使用user-data-dir参数仍然会创建一个空文件夹的问题,这里的话笔者尝试使用禁用插件功能后,空文件夹就不会生成了。文章来源地址https://www.toymoban.com/news/detail-776106.html

chrome_options = Options()
chrome_options.add_argument("--disable-extensions")

到了这里,关于selenium + chrome109以上版本会自动在C:\Program Files (x86)目录下创建scoped_dir*文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包