首页 > 解决方案 > 在 Arch Linux 上使用 geckodriver(0.24.0) 运行 selenium(3.141.0) 时无法找到一组匹配的功能

问题描述

首先,我读到了这个,但我没有使用 python 2.7 和 geckodriver 0.19.1。

所以,我试着每小时从网站上获取一些数据。

我在我的 python 3.7.3 上安装了 selenium 3.141.0 和

geckodriver 0.24.0 在我的 Arch Linux for Odroid XU4 上。

但是当我执行下面的代码时,

from selenium import webdriver
browser = webdriver.Firefox()

我收到这样的错误消息。

Traceback (most recent call last):
  File "source/originAd.py", line 3, in <module>
    browser = webdriver.Firefox()
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
    keep_alive=True)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities

我知道 selenium 试图在 /usr/bin/ 中找到驱动程序,并且我检查了驱动程序是否存在。所以,这不是关于

寻找驱动程序。我试图自己构建 geckodriver,但我找不到如何使用 mach。所以会很好

如果有人可以告诉我为什么会出现此错误以及如何解决它。谢谢。

+++++

我还安装了 Firefox

pacman -S firefox

标签: pythonseleniumselenium-webdriverarchlinuxodroid

解决方案


作为一个建议,我会尝试告诉webdriver在哪里可以找到 Firefox 二进制文件:

from selenium import webdriver
driver = webdriver.Firefox(firefox_binary="PATH_TO_FIREFOX_BINARY")

有人在这里报告了类似的问题


推荐阅读