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

在selenium中创建firefox会话时出错

陈项禹
2023-03-14

我是selenium库的新手,请帮助我解决这个错误来启动一个使用selenium的firefox会话。

这是我目前为止的代码

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# create a new Firefox session
driver = webdriver.Firefox()

而发生的错误是

回溯(最近一次调用):文件“C:\users\yash\appdata\local\programs\python\python36-32\lib\site-packages\selenium\webdriver\common\service.py”,第74行,在start stdout=self.log_file,stderr=self.log_file中)文件“C:\users\yash\appdata\local\programs\python36-32\lib\subprocess.py”,第707行,在__init_restore_signals,:\users\yash\appdata\local\programs\python\python36-2\lib\subprocess.py“,行990,in_execute_child startupinfo)FileNotFounderRror:[WinError 2]系统找不到指定的文件

在处理上述异常时,又发生了一个异常:

回溯(最近一次调用):文件“A:\python\webscraping\seltry.py”,第5行,在driver=webdriver.firefox()文件“C:\users\yash\appdata\local\programs\python\python36-32\lib\site-packages\selenium\webdriver\firefox\webdriver\webdriver.py”,第148行,在init self.service.start()文件“C:\users\yash\appdata\local\programs\python\python36-32\lib\site-packages\selenium\web36-32\lib\site-packages\selenium\driver\common\service.py”,第81行,在start os.path.baseName(self.path),self.start_error_message)selenium.common.exceptions.webdriverexception:message:“geckodriver”可执行文件需要在path中。

请救命!

共有1个答案

秦鸿羽
2023-03-14

错误:selenium.common.exceptions.WebDriverException:message:“geckodriver”executable needs to be in path。很好地解释了这一点。您可以按照本教程Selenium使用Python-Geckodriver可执行文件需要在路径中

在提问之前,请仔细研究一下你的问题,因为我认为这可能会被一些人认为是一个重复的问题。

 类似资料:
  • 直到昨天:以下代码工作正常。 但是今天早上它开始抛出:异常线程"main"org.openqa.selenium.SessionNotCreatedException:会话未创建异常 我在Stackoverflow中阅读了几个答案。我知道如果selenium web驱动程序和chrome驱动程序之间存在版本不匹配,就会引发此错误。所以我下载了最新的Selenium Web驱动程序(3.0.1 fo

  • 这是因为我在一个搜索字段上有一个失败的Behat测试-这个字段是通过javascript添加的,所以我假设Selenium(与我的设置)有问题。 我发现,如果我访问http://localhost:4444/wd/hub并单击“create Session”,选择任何浏览器(android、iphone、firefox、chrome、internet explorer、opera),我将得到错误消

  • 我找了很多解决办法。谢了。

  • 当会话仅是一个未来的且还没有被建立的会话时被认为是“新”的。因为 HTTP是一种基于请求-响应的协议,直到客户端“加入”到 HTTP 会话之前它都被认为是新的。当会话跟踪信息返回到服务器指示会话已经建立时客户端加入到会话。直到客户端加入到会话,否则不能假定下一个来自客户端的请求被识别为同一会话。 如果以下之一是 true,会话被认为是“新”的: 客户端还不知道会话 客户端选择不加入会话。 这些条件

  • 问题内容: 我从这里选择了最新的2.45.0 。遵循文档并使用以下命令启动集线器 并且,文件内容为: 而且,唯一的 到目前为止,一切看起来都很不错。在这里注册后,请查看控制台的屏幕截图 而且,当我尝试通过以下方式开始测试时,问题就开始了: 而且,它抛出: WebDriver.dll中发生类型’System.InvalidOperationException’的异常,但未在用户代码中处理 附加信息:

  • 我使用了最新的Selenium服务器,从这里开始是2.45.0。遵循文档并使用以下命令启动中心 并且,JSon文件内容是: 并且,唯一具有 在这之前,一切看起来都很好。在此处注册后,请查看控制台的屏幕截图 而且,当我试图开始测试时,问题就开始了: 它抛出: “系统”类型的例外。WebDriver中发生“InvalidOperationException”。dll,但未在用户代码中处理 附加信息:无