2017-07-26 3 views
1
nicht frei

Ich habe Probleme mit dem erfolgreichen Start eines Firefox Browsers mit dem Selenium Webdriver für Python. Ich habe die folgenden Setup-Parameter:Selenium Webdriver + Geckodriver + Python 2.6.6 + Firefox auf RedHat 6.8 schlägt Browser

Selenium Webdriver 3.4.3 
Python 2.6.6 
geckodriver-v0.18.0-linux64.tar.gz 
firefox-45.0.1.1.el6.x86_64 

nun die geckodriver Datei entpackt und wird derzeit in /usr/local/bin Verzeichnis mit rwx den ganzen Weg über:

rwxrwxrwx. 1 root root 7129173 Jul 26 14:42 geckodriver 

Ich habe die .bash_profile aktualisiert, um den Pfad schließen wie:

PATH=$PATH:$HOME/bin:/usr/local/bin/geckodriver 

Das Skript, das ich innerhalb des Selenium-3.4.3 Verzeichnisses "README.rst" aus der readme verwenden.

Scriptname: first_selenium_script.py

from selenium import webdriver 

browser = webdriver.Firefox() 
browser.get('http://seleniumhq.org/') 

So sind die Ergebnisse wie folgt

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 

Irgendwelche Gedanken bitte. . . Vielen Dank.

+0

Haben Sie sich abgemeldet, um mit der Verwendung Ihrer neuen .bash_profile-Datei zu beginnen? Du könntest versuchen, den geckodriver stattdessen in/usr/bin/geckodriver zu setzen, ich weiß, dass dort ich es habe. – Jonathan

+0

Hmm ... Und ich habe gerade diesen Kommentar in der Wildnis gefunden: https://github.com/SeleniumHQ/selenium/issues/3884#issuecomment-296501573 Sieht aus wie die neueste Version von geckodriver funktioniert möglicherweise nicht mit FireFox 45. Versuchen FireFox upgraden, wenn du kannst. – Jonathan

+0

Suche im Netz ein wenig mehr, fand ich, Lösung @ der alimp5 [link] https://github.com/SeleniumHQ/selenium/issues/3884 >>> 'von Selen Import WebDriver caps = webdriver.DesiredCapabilities () .FIREFOX ... caps ["marionette"] = Falsch ... driver = webdriver.Firefox (Fähigkeiten = Kappen) ... driver.get ("http://www.google.com")) ... print driver.title ... driver.quit() '<<< Welche funktionierte. . . Ich verstehe noch nicht warum, aber ich werde weiterlesen, bis ich es tue. –

Antwort

0

Nach einigen Recherchen bin ich fast sicher, dass mein Kommentar richtig ist - eine Versionsinkompatibilität zwischen FireFox 45 und Geckodriver 0.18. Nach dem geckodriver page:

v0.18.0

geckodriver empfiehlt jetzt 53 Firefox und mehr

Es ist wie FireFox sieht 45 kann mit geckodriver unvereinbar. Geckodriver war initially released am 9. April 2015 und Firefox 45 was released am 8. März 2015

So, während es eine Chance sein könnte, es zu bekommen auf einem alten geckodriver zu arbeiten, die beste Option wäre wirklich zu aktualisieren zu FireFox > = v53.

Verwandte Themen