我想使用新的(2016)无头版 Chromium with Selenium/ChromeDriver版本(过去,我使用Firefox与xfvb,但这个承诺是好多了)。Selenium ChromeDriver无法识别新编译的无头铬(Python)
我从来源汇编的Chromium无头版本的基础上,我发现here和指令(我没有找到任何预先生成的二进制文件),然后我用下面的代码通过硒来启动它:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
l_option = Options()
l_option.add_argument('headless')
l_option.add_argument('disable-notifications')
l_option.binary_location = '/home/fi11222/Headless_Chromium/headless_shell'
l_driver = webdriver.Chrome(chrome_options=l_option)
相同的代码工作与标准的铬(如果删除binary.location
选项)
原样,不过,我得到以下错误:
selenium.common.exceptions.WebDriverException: Message: unknown error: unrecognized Chrome version: HeadlessChrome/59.0.3032.0
(Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.4.0-53-generic x86_64)
显然,无头的铬二进制文件是用ChromeDriver无法识别的版本ID编译的。帮帮我 !!
环境:
- 编辑:Ubuntu的16.04服务器
- 硒执行:Linux Mint的18.1
检查您的Chrome驱动程序支持的Chrome版本。我读到它支持Chrome 54到56,而你的无头铬是59.尝试安装以前的Chrome版本 – BangTheBank
我不能。因为59之前的版本显然不支持无头模式。该功能可追溯至2016年中期。顺便说一句,我怎么知道什么特定版本的Chrome Webdriver支持? – fi11222
另外,我检查了ChromeDriver来源。显然没有最大版本,只有最小值,现在显然是55。所以问题在于别处。 – fi11222