![](/img/trans.png)
[英]Selenium can't get element by xpath in headless mode 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 已经崩溃。)
解决方案尝试:
编辑:我已经尝试添加 --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");
确保这件事:
@Test
。您可以在以下位置找到详细的讨论:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.