我正在尝试在linux服务器上运行一个webscraper。完整错误低于
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.10.267518,platform=Linux 4.4.0-141-generic x86_64)
我已经看到了关于stackoverflow的类似问题,解决方案包括“ --headless”和“ --no-sandbox”自变量。但是,我已经在这样做了。
我可以在本地运行此代码,但是,我无法使其在服务器上运行。
我还检查了所有内容是否都是最新的。
ChromeDriver 2.10.267518
selenium 3.141.0
这是发生错误的代码段。
options.add_argument('--headless')
options.add_argument('--no-sandbox')
caps = DesiredCapabilities.CHROME
caps['loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(options=options, desired_capabilities=caps, executable_path='/usr/local/bin/chromedriver')
我也尝试了不带执行路径选项的情况下运行上述代码,但仍然出现相同的错误。
答案 0 :(得分:0)
此错误消息...
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.10.267518,platform=Linux 4.4.0-141-generic x86_64)
...表示 ChromeDriver 无法启动/产生新的 WebBrowser ,即 Chrome浏览器会话。
您的主要问题是所使用的二进制版本之间的不兼容性:
支持 Chrome v33-36
支持 Chrome v71-73
因此 ChromeDriver v2.10 与 Chrome浏览器v72.0
之间显然存在不匹配@Test
。答案 1 :(得分:0)
我正在使用一个配置文件,该文件将标头值设置为True,因此代码试图在浏览器上运行并失败。这是一个愚蠢的错误,但是无论如何我都会发布解决方案,以防它对某人有所帮助。
我还必须删除下面的行
options.add_argument('--no-sandbox')
并更改此行
options.add_argument('--headless')
到
options.add_argument('headless')