Selenium Python脚本在更新到Chrome浏览器后无法运行

0md85ypi  于 2023-06-03  发布在  Go
关注(0)|答案(1)|浏览(186)

这个问题发生在我的Python脚本运行在Ubuntu服务器上(没有GUI)。在这台服务器上安装了chrome浏览器版本112,其他要求(chromedriver,python等)都满足了,python3脚本工作正常。它的功能是调用webdriver,操纵chrome做一些自动化的工作。
但是在几天前更新chrome浏览器后,脚本现在不工作了,我得到了这样的错误:

DevToolsActivePort file doesn't exist

我尝试添加'--no-sandbox'和许多其他选项(在ChromeOption中),但它们从未工作。
有人知道如何解决这个问题吗?

pexxcrt2

pexxcrt21#

回答我的问题。关键问题来自一个选项:--user-data-dir。可能问题也与--headless模式有关。
我使用这两个chrome-options,像这样:

options = Options()
options.add_argument('--headless=new')
options.add_argument('--user-data-dir=chrome-userdata')

另一篇文章提到,这样的错误消息可能来自运行chrome在headful模式(没有--headless选项),但在操作系统没有GUI。所以我尝试先删除--headless=new。然后我再次运行这个脚本,它在我的远程计算机上启动一个chrome窗口(我使用ubuntu桌面并启用X11选项,因此这对我有效)。
通过运行此命令,新数据和配置将写入user-data-dir。因此,下次我恢复注解--headless=new选项,它的工作原理,因为它曾经是.
希望我的经验可以帮助你。

相关问题