【发布时间】:2018-01-02 11:33:38
【问题描述】:
我在使用 Selenium Webdriver for python 成功启动 Firefox 浏览器时遇到问题。我有以下设置参数:
Selenium Webdriver 3.4.3
Python 2.6.6
geckodriver-v0.18.0-linux64.tar.gz
firefox-45.0.1.1.el6.x86_64
现在,geckodriver 文件已解压缩,当前位于/usr/local/bin 目录中,rwx 一直贯穿:
rwxrwxrwx. 1 root root 7129173 Jul 26 14:42 geckodriver
我已更新 .bash_profile 以包含以下路径:
PATH=$PATH:$HOME/bin:/usr/local/bin/geckodriver
我使用的脚本来自 Selenium-3.4.3 目录“README.rst”中的自述文件。
脚本名称:first_selenium_script.py
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
所以,结果如下,
Traceback (most recent call last):
File "first_selenium_script.py", line 3, in <module>
browser = webdriver.Firefox()
File "/usr/lib/python2.6/site- packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/firefox/webdriver.py", line 152, in __init__
keep_alive=True)
File "/usr/lib/python2.6/site- packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/remote/webdriver.py", line 98, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/lib/python2.6/site- packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/remote/webdriver.py", line 188, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/lib/python2.6/site- packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/remote/webdriver.py", line 256, in execute
self.error_handler.check_response(response)
File "/usr/lib/python2.6/site-packages/selenium-3.4.3-py2.6.egg/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
请有任何想法。 . .谢谢。
【问题讨论】:
-
您是否已注销并重新登录以开始使用新的 .bash_profile 文件?您可以尝试将 geckodriver 放在 /usr/bin/geckodriver 中,我知道这就是我拥有它的地方。
-
嗯...我刚刚在野外发现了这条评论:github.com/SeleniumHQ/selenium/issues/… 看起来最新版本的 geckodriver 可能不适用于 FireFox 45。如果可以,请尝试升级 FireFox。跨度>
-
上网搜索了一下,我发现,alimp5的解决方案@ [link] github.com/SeleniumHQ/selenium/issues/3884 >>> ` from selenium import webdriver caps = webdriver.DesiredCapabilities().FIREFOX ... caps[" marionette"] = False ... driver = webdriver.Firefox(capabilities=caps) ... driver.get("google.com") ... print driver.title ... driver.quit()`
-
如果可行的话,太棒了!好工作。 :)
-
谢谢,乔纳森。
标签: python selenium firefox redhat geckodriver