在树莓派上运行无头chromedriver时硒崩溃

时间:2019-05-14 17:37:08

标签: python selenium raspberry-pi selenium-chromedriver

我从这里{@ {3}}

将chromedriver下载到了我的树莓派上(无GUI OS)

然后我使用dpkg -i安装了它,我可以验证它是否已安装到'/ usr / lib / chromium-browser / chromedriver'。

当我尝试运行使用硒的脚本时:

options = Options()
options.add_argument(f'user-agent={USER_AGENT}')
options.add_argument('--window-size=1024,768')
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('disable-infobars')
options.add_argument("--disable-extensions")
driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver', options=options)
# Fetch video url.
driver.get(url)

它崩溃并显示以下错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: 
session deleted because of page crash
from tab crashed

此错误发生在:

driver.get(url)

我该如何解决?这是我在代码中设置硒的方式吗?还是我如何安装?

编辑:是否可能是由启动板安装的Chrome-chromedriver版本为65,我的铬浏览器安装为72版本引起的错误?

如果是的话,我将如何安装旧版本的铬浏览器?

1 个答案:

答案 0 :(得分:0)

我怀疑这与以无头模式运行无关。您如何“验证它已安装到'/ usr / lib / chromium-browser / chromedriver'”?

您说的是代码:

driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')
driver.get(url)

运行没有问题?我本以为它需要完整的路径:

driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver/chromedriver.exe')
driver.get(url)

由于chromedriver.exe是文件而不是文件夹(尽管我个人只是在同一目录中有chromedriver.exe,所以我省略了此参数……也许我不太了解它)。如果可行,您应该系统地逐个添加选项1,直到选项被破坏为止,这样您才能确切知道哪个选项正在破坏它。