使用:Selenium 3.4.3、Firefox 54、geckodriver 0.17.0
通过尝试在使用precise64框的虚拟机上用python创建Firefox webdriver,我收到了此错误消息。我的笔记本电脑运行Mac OS Sierra。这是我的错误消息:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__
keep_alive=True)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 98, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 188, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities
我正在运行browser=webdriver。Firefox()
。我已经尝试在我的vagrant目录中指定geckodriver可执行文件的路径,即browser=webdriver。Firefox(“/vagrant/”)
,但它仍然无法找到匹配的功能集。我的geckodriver与我尝试运行的脚本位于同一目录中。我也将流浪者文件夹添加到了我的路径中。我相信我使用的所有东西都是最新的,根据我看到的各种帖子,比如这篇。
有人知道我为什么会收到这一期吗?提前谢谢你。
#Code Snippet
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('/Applications/Firefox.app/Contents/MacOS/firefox-bin')
driver = webdriver.Firefox(executable_path = "/usr/local/bin/geckodriver")
driver.get("http://www.google.com")
print driver.title
driver.quit()
如果其他人遇到这个问题:问题似乎是虚拟机没有显示器,要么需要像pyVirtual albox这样的虚拟显示器,要么需要像phantomJS这样的无头浏览器。
编辑:我正在添加如何实现我列出的两个解决方案的示例。通常,解决此问题的方法取决于您有哪些限制。最简单的方法就是不使用虚拟机,但如果确实需要使用VM,则需要采取我上面概述的两种方法之一。
# PHANTOM JS SOLUTION
from selenium import webdriver
driver = webdriver.PhantomJS() # assuming your phantomJS driver is in your path already
driver.get("https://www.google.com")
driver.quit() # only use this when done with automation
# PYVIRTUALBOX SOLUTION
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(1920, 1080)).start()
driver = webdriver.Firefox()
driver.get("https://www.google.com")
display.close() # use this only once you are finished with automation
driver.quit()
问题内容: 我这里必须有一些版本不匹配,因为我无法使用Python来实现Selenium来启动Firefox Web浏览器。我使用的是Firefox的旧版本,因为此处的其他人具有相同的旧Python版本,而对于他们来说,旧版本的Firefox效果最佳。 码: 错误: 版本信息: Python 2.7.10 selenium3.8.0 Firefox 46.0 GeckoDriver 0.19.1(
运行上述代码后,我得到一个错误:
我知道这是之前提出的问题的重复。但我这辈子都不能让它发挥作用。我已将其添加到路径中。我已经设置了可执行路径。我已经尝试了驱动程序的多个版本。还是相同的错误。想知道是否有人能为我提供他们的python、selenium和geckodriver以及firefox版本?甚至需要firefox吗?我以前让它工作过,就像一年前一样,但现在它不工作了。谢谢 我的版本: 代码: 回溯
版本: > geckodriver 0.26.0(路径内环境变量) 硒3.141.0 火狐75.0 python 3.8.2 Windows 10 当我尝试: 我明白了: 当我尝试时: 我明白了: IEDriver适用于IE 我有Windows Visual Studio安装https://github.com/mozilla/geckodriver/releases指示我应该。 我能做些什么来实
这是我正在使用的代码 这就是错误 我在Ubuntu中使用WSL,我在使用Vim。但是,如果我在WSL之外使用VSC,我不会得到这个错误。但我想用Vim编码。
问题内容: 我试图在Firefox中运行网站进行测试,但出现错误“驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;” 我已经正确设置了路径,但仍然不知道问题出在哪里。这是我的代码: 这是我的代码的失败跟踪: 问题答案: 为了简化操作,在使用 Selenium Client v3.11.0 和 Firefox v37时, 您需要从 mozilla / geck