2017-05-04 2 views
3

Ich verbrachte Stunden damit, Selen arbeitet mit Python kein Glück diese Fehlermeldung selenium.common.exceptions.WebDriverException: Message: connection refused dies ist das Beispiel, die ich verwendet habe, um: -Python Selen Geckodriver Connection refused

from pyvirtualdisplay import Display 
from selenium import webdriver 
display = Display(visible=0, size=(800, 600)) 
display.start() 
browser = webdriver.Firefox() 
browser.get('http://www.python.org') 
browser.close() 

Dieses depence I intalled ist apt-get install -y xorg xvfb dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic

Dies ist /root/geckodriver.log Ausgang

1493938773101 geckodriver INFO Zuhören auf 127.0.0.1:40876 1493938774156 geckodriver :: mariniert INFO Start Browser /usr/lib/firefox/firefox.sh mit args [ "-marionette"] (Firefox: 3128): Glib-GObject -kritisch **: g_object_ref: Behauptung ‚object-> REF_COUNT> 0‘ ist fehlgeschlagen

ich bin mit Selen auf Ubuntu 14.04 64-bit VPS Remote-Server mit 128 MB RAM ich nicht herausfinden können, was die Selen machen nicht in der Lage kommunizieren mit Browser-Treibern sowohl Chrome als auch Firefox.

Antwort

0

Ok, gab ich auf Geckodriver und ich PhantomJS als meine WebDriver.

from selenium import webdriver 
display = Display(visible=0, size=(800, 600)) 
display.start() 
driver = webdriver.PhantomJS() 
driver.get('http://www.python.org') 
html_source = driver.page_source 
print ("html_source:",html_source) 
driver.quit() 

Hier sind die Schritte, die ich verwendet PhantomJS zu installieren:

cd ~ 
export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64" 
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 
tar xvjf $PHANTOM_JS.tar.bz2 
Python Selenium   
apt-get install python-pip -y 
pip uninstall pyvirtualdisplay 
apt-get install x11vnc xvfb fluxbox 
Xvfb :99 -ac 
xvfb-run -a python 99.py 
pip uninstall selenium 
pip install selenium==2.53.1 

Siehe auch How to install PhantomJS on Ubuntu.

+0

Danke. Ich war auch frustriert mit Selenium + Firefox + Geckodriver's endlosen Problemen, und PhantomJS funktioniert einfach. – Cerin

2

Bitte starten Sie mit Ihrem "firefox" Browser-Version zu überprüfen.

Ich fand es an einem gewissen Punkt sehr verwirrend. Ich benutze das Raspbian und das "Iceweasel", das mit apt-get heruntergeladen wurde, war eine Firefox 52 Version, die nicht mit Geckodriver 0.19 funktionierte (dieses benötigt Firefox 55 oder höher).

Was für mich gearbeitet wurde geckorvider v0.16 und das löste das Problem zum Download bereit.

Was darüber hinaus, werden Sie wahrscheinlich nicht xorg müssen, damit es funktioniert, sind die einzigen Pakete ich brauchte, war xfvb und iceweasel.

+0

Ich habe mehrere Versionen ausprobiert, aber keiner von ihnen funktioniert, weil sowohl Firefox als auch Chrome-Treiber mit dem Server ohne grafische Ausgabe verwechselt wurden. PhantomJS erfüllt alle meine Anforderungen und funktioniert wie ein echter Browser. –

+0

xvfb sollte ausreichen, um damit umzugehen, vielleicht haben diese Probleme ihre Wurzeln in einigen Abhängigkeiten, die Sie installiert haben? Haben Sie eine Chance, es auf einem "sauberen" Konto mit nur xvfb und Selen zu testen? –

Verwandte Themen