当前位置: 首页 > 知识库问答 >
问题:

docker和jupyter中硒的geckodriver WebDriverException

狄兴业
2023-03-14

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

from selenium import webdriver
browser = webdriver.Firefox()

但每次它出现

FileNotFoundError:[错误号2]没有这样的文件或目录:“geckodriver”:“geckodriver”在处理上述异常期间,发生了另一个异常:<代码>WebDriverException:消息:“geckodriver”可执行文件需要位于PATH中

尽管我把目录放在了PATH中。geckodriver.exe在文件夹中:C:\用户\我\文档\程序\Docker,我把文件夹和目录C:\用户\我\文档\程序\Docker\geckodriver.exe放在了PATH中。我还尝试了:

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

FileNotFoundError:[Errno 2]没有这样的文件或目录:'gecko驱动程序':'gecko驱动程序'在处理上述异常时,发生了另一个异常:WebDriverException:消息:'gecko驱动程序'可执行文件需要在PATH中。

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

FileNotFoundError:[Errno 2]没有这样的文件或目录:'C:\用户\我\文档\程序\Docker':'C:\用户\我\文档\程序\Docker'在处理上述异常时,发生了另一个异常:WebDriverException:消息:'C:\用户\我\文档\程序\Docker'可执行文件需要在PATH中。

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

FileNotFoundError:[错误2]没有这样的文件或目录:“C:\Users\me\Documents\Programs\Docker\geckodriver”。exe“:”C:\Users\me\Documents\Programs\Docker\geckodriver。在处理上述异常期间,发生了另一个异常:WebDriverException:消息:“C:\Users\me\Documents\Programs\Docker\geckodriver”。exe的可执行文件需要位于路径中。

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

FileNotFoundError:[错误2]没有这样的文件或目录:“/path/to/geckodriver”:“/path/to/geckodriver”在处理上述异常期间,发生了另一个异常:WebDriverException:消息:“geckodriver”可执行文件需要位于路径中。

共有1个答案

颜永怡
2023-03-14

那是因为硒不知道司机在哪里。

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

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

我建议先阅读这里的文档。

 类似资料:
  • Jupyter 是个好东西,提供了简单易用的 web REPL 环境,并且可以根据工作语言选配不同的 kernel 提供不同的功能。但是,由于常常用作测试所用,因此对于我这样的“洁癖患者”来说,保持后台常驻和环境清洁实在是非常终于,于是我想到了 docker,实在是 Jupter 运行容器的不二之选。 本来打算自己定制一个的,不过一番搜索后发现官方提供了更为详细和成熟的 docker 镜像,实在是

  • 我想制作一个易于运行的 jupyter 笔记本,它支持 OpenCV,并作为 Docker 映像提供。 这个概念是让一个 docker 容器运行 jupyter 内核,并通过主机中的浏览器访问笔记本。类似的东西。 但是,问题是OpenCV似乎依赖于正在运行的Gtkenvironment.So尝试运行以下代码: 导致jupyter内核崩溃: 有没有办法绕过这种依赖关系,让在泊坞站容器中运行的Open

  • 我试图在docker compose中运行python selenium。我有以下文件: docker撰写。yml: Dockerfile: 测验py: 我跑: 我在测试中发现了一个连接被拒绝的错误。在尝试创建webdriver时使用py。 查看日志,hub和chrome驱动程序似乎已启动并运行,chrome驱动程序已连接到hub。我可以从应用程序ping hub和chrome容器。有什么想法吗?

  • 我开始学习如何使用TensorFlow进行机器学习。发现docker在我的机器上部署TensorFlow非常方便。然而,我能找到的例子对我的目标设定不起作用。那是 在ubuntu16.04操作系统下,使用nvidia-docker同时托管jupyter和拉伸板服务(可以是两个容器或一个容器有两个服务)。从jupyter创建的文件应该对主机操作系统可见。 Ubuntu 16.04 多克尔 nvidi

  • 如果我直接在docker中运行google-chrome,它会显示如下: 系统:

  • 我正在获取:AttributeError:“WebDriver”对象没有属性“GetWinDowHandles” 我是不是漏掉了什么?