【问题标题】:WebDriverException with geckodriver for selenium in docker and jupyterWebDriverException 与 geckodriver 在 docker 和 jupyter 中的 selenium
【发布时间】:2021-12-01 08:31:59
【问题描述】:

我使用 windows10、docker 和 jupyter,并尝试使用 geckodriver for firefox 运行 selenium:

from selenium import webdriver
browser = webdriver.Firefox()

但每次都显示

FileNotFoundError: [Errno 2] 没有这样的文件或目录: 'geckodriver': 'geckodriver' 在处理上述异常的过程中,又出现了一个异常: WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

即使我将目录放在 PATH 中。 geckodriver.exe 位于以下文件夹中: C:\Users\me\Documents\Programs\Docker 我将文件夹和目录 C:\Users\me\Documents\Programs\Docker\geckodriver.exe 放在 PATH 中。 我也试过了:

driver = webdriver.Firefox(executable_path = "geckodriver")

FileNotFoundError: [Errno 2] 没有这样的文件或目录: 'geckodriver': 'geckodriver' 在处理上述异常的过程中,又出现了一个异常: WebDriverException:消息:“geckodriver”可执行文件需要在 PATH 中。

driver = webdriver.Firefox(executable_path = r"C:\Users\me\Documents\Programs\Docker")

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'C:\Users\me\Documents\Programs\Docker': 'C:\Users\me\Documents\Programs\Docker' 在处理上述异常的过程中,又出现了一个异常: WebDriverException:消息:'C:\Users\me\Documents\Programs\Docker' 可执行文件需要在 PATH 中。

driver = webdriver.Firefox(executable_path = r"C:\Users\me\Documents\Programs\Docker\geckodriver.exe")

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'C:\Users\me\Documents\Programs\Docker\geckodriver.exe': 'C:\Users\me\Documents\Programs\Docker\geckodriver. EXE文件' 在处理上述异常的过程中,又出现了一个异常: WebDriverException:消息:'C:\Users\me\Documents\Programs\Docker\geckodriver.exe' 可执行文件需要在 PATH 中。

driver = webdriver.Firefox(executable_path = '/path/to/geckodriver')

FileNotFoundError: [Errno 2] 没有这样的文件或目录: '/path/to/geckodriver': '/path/to/geckodriver' 在处理上述异常的过程中,又出现了一个异常: WebDriverException:消息:“geckodriver”可执行文件需要在 PATH 中。

【问题讨论】:

  • webdriver.Firefox() 你从未添加到 webdriver 的路径:webdriver.Firefox(executable_path='geckodriver')
  • 我尝试了代码并得到了同样的错误
  • 如果您遇到同样的错误,那么您没有输入壁虎驱动程序的正确路径

标签: python docker selenium jupyter geckodriver


【解决方案1】:

那是因为 selenium 不知道驱动程序在哪里。

您需要从here下载驱动程序,将驱动程序复制到您的项目文件夹(或您真正想要的任何地方),然后使用

driver = webdriver.Firefox(executable_path='/path/to/geckodriver')

我建议先阅读文档here

【讨论】:

  • 我尝试了代码并得到了同样的错误
  • @caiolucas 用您的代码更新问题。看来你的路径写错了
猜你喜欢
  • 1970-01-01
  • 2019-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
相关资源
最近更新 更多