2017-07-23 2 views
3

J'utilise le sélénium avec geckodriver pour obtenir une page html. Voici le code que j'utiliseWebDriverException: Message: connexion refusée

from pyvirtualdisplay import Display  
from selenium import webdriver 

#start the virtual display  
display = Display(visible=0, size=(800, 600)) 
display.start() 

# start the browser. Using firefox. 
browser = webdriver.Firefox() 

browser.get('https://www.google.com') 

print browser.title 

browser.quit() 

display.stop() 

Quand je l'exécute avec python, je reçois le message d'erreur suivant. J'ai consulté geckodriver.log.

1500842848329 geckodriver INFO geckodriver 0.18.0 
1500842848362 geckodriver INFO Listening on 127.0.0.1:45467 
1500842849526 geckodriver::marionette INFO Starting browser /usr/bin/firefox with args ["-marionette"] 

Je ne sais pas où chercher. Des indices? Mise à jour 1: Il semble que quand j'ai fait une réinitialisation de puissance sur le VPS, le script a commencé à fonctionner. J'ai enquêté plus loin et je me suis souvenu qu'il y avait quatre processus défunts exécutant des exécutions firefox précédentes que j'ai dû tuer. Je ne connais pas assez les internes de la gestion de processus sous Linux pour bien comprendre cela. Geckodriver devient-il confus?

+0

Est-ce que le même se produire sans un affichage virtuel? – n1c9

+0

Merci pour l'indice. J'ai juste essayé en commentant le code relatif d'affichage virtuel mais la même erreur apparaît. – tehnyit

Répondre

0

J'ai également eu ce problème ... même sur une machine avec le serveur X en cours d'exécution et un environnement KDE entièrement fonctionnel. Il s'avère qu'il existe des exigences de version strictes lors de l'utilisation de geckodriver et Firefox. Je courais une version plus ancienne de Firefox avec la dernière version de geckodriver. Une fois que je téléchargé une version figurant dans les notes de version (et spécifié le chemin que binaire firefox dans ma déclaration WebDriver), il a bien fonctionné:

driver = webdriver.Firefox(firefox_binary='/path/to/latest/firefox/binary') 

https://github.com/mozilla/geckodriver/releases