繁体   English   中英

Chrome 在没有无头模式的情况下无法运行(Ubuntu 18.04)

[英]Chrome not running without headless mode (Ubuntu 18.04)

所以我正在编写一个脚本,该脚本从动态网页中抓取一些数据并将其提交到我的数据库表中。 为此,我在 Python 中使用了 Selenium。在我重新启动系统之前一切正常。 现在 chrome 只能在无头模式下工作,当我注释掉该选项以便看到 chrome 浏览器的实际 window 时,我收到此错误

selenium.common.exceptions.WebDriverException:消息:未知错误:Chrome 无法启动:异常退出。 (未知错误:DevToolsActivePort 文件不存在)(从 chrome 位置 /usr/bin/google-chrome 启动的进程不再运行,因此 ChromeDriver 假设 Chrome 已经崩溃。)

代码截图

解决方案尝试:

  • 交叉检查了我的 chrome-binary 的路径,它是有效的
  • 更改了添加选项的顺序
  • 卸载 chrome 并重新安装
  • 删除chromedriver并重新下载
  • 重新启动我的系统两次
  • 用谷歌搜索错误并尝试解决方案

编辑:我已经尝试添加 --no-sandbox 选项,然后在此处将其注释掉,如快照所示

我想提及的一件事是我的根空间非常小,只剩下 340 MB 的可用空间。 那有影响吗?

要查看 chrome 浏览器的实际 window,删除参数-headless是完美的。

但是,我建议删除所有不需要的选项并使用最少的代码行执行测试,如下所示:

从 selenium 导入 webdriver 从 selenium.webdriver.chrome.options 导入选项

chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument('start-maximized')
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=chrome_options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get("http://google.com/")

如果您看到以下错误:

selenium.common.exceptions.WebDriverException:消息:未知错误:Chrome 无法启动:异常退出。 (未知错误:DevToolsActivePort 文件不存在)(从 chrome 位置 /usr/bin/google-chrome 启动的进程不再运行,因此 ChromeDriver 假设 Chrome 已经崩溃。)

您可能需要添加参数--no-sandbox

所以解决方案是加回参数:

chrome_options.addArguments("--no-sandbox");
chrome_options.addArguments("--disable-dev-shm-usage");

您可以在WebDriverException: unknown error: DevToolsActivePort file doesn't exist while trying to initiate Chrome Browser中找到详细讨论


其他注意事项

确保这件事:

  • Selenium升级到当前级别版本 3.141.59
  • ChromeDriver已更新到当前的 ChromeDriver v83.0级别。
  • Chrome已更新至当前的Chrome 版本 83.0级别。 (根据ChromeDriver v83.0 发行说明
  • 如果您的基础Web Client版本太旧,则将其卸载并安装最新的 GA 和发布版本的Web Client
  • 通过您的IDE清理您的项目工作区,并仅使用所需的依赖项重建您的项目。
  • 如果您的基础Web Client版本太旧,则将其卸载并安装最新的 GA 和发布版本的Web Client
  • 重新启动系统
  • 非 root用户身份执行@Test

参考

您可以在以下位置找到详细的讨论:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM