首页 > 解决方案 > 为什么硒在 manjaro 上不能正常工作(PATH 问题)

问题描述

我刚刚下载了 selenium 并想尝试简单的代码:

from selenium import webdriver

driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
driver.get("https://www.youtube.com")

错误:

Traceback (most recent call last):
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/main.py", line 3, in <module>
    driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/firefox/webdriver.py", line 170, in __init__
    RemoteWebDriver.__init__(
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/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

如果我改变它也不起作用

driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')

driver = webdriver.Firefox()

我使用 chmod +x geckodriver 使壁虎驱动程序可执行

将其移至 usr/local/bin

并设置这样的路径:

export PATH=$PATH:/usr/local/bin/geckodriver

还是不行

使用 webdriver-manager 错误是

Traceback (most recent call last):
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/main.py", line 4, in <module>
    driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/firefox/webdriver.py", line 170, in __init__
    RemoteWebDriver.__init__(
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/keksik/JetBainz/PycharmProjects/pythonProject1/venv/lib/python3.8/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

标签: pythonpython-3.xseleniumselenium-webdrivermanjaro

解决方案


显然,该问题是由于非管理权限而发生的。您拥有驱动程序的位置需要 root 权限才能执行/运行。我建议您将驱动程序移动到您的主目录中不需要 root 权限来启动驱动程序的某个位置。


推荐阅读