2017-06-25 1 views
1

Ich habe Python 2.7.12 mit Selen Version 2.53.6 und Firefox 46.0.1 ausgeführt. Mein Ziel ist es, kopflose Tests auf einem AWS Ubuntu Server 16.04 LTS durchzuführen. So habe ich es eingerichtet.Ausführen Headless Webdriver Tests auf Ubuntu LTS mit Firefox-Treiber

# install anaconda 
cd ~ 
wget https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh 
bash Anaconda2-4.2.0-Linux-x86_64.sh 
rm Anaconda2-4.2.0-Linux-x86_64.sh 
echo export 'PATH="/home/ubuntu/anaconda2/bin:$PATH"' >> ~/.bashrc 
source .bashrc 
conda update conda 

# install firefox version 46.0.1 
wget https://ftp.mozilla.org/pub/firefox/releases/46.0.1/linux-x86_64/en-US/firefox-46.0.1.tar.bz2 
tar jxf firefox-46.0.1.tar.bz2 
rm firefox-46.0.1.tar.bz2 

# install pyvirtualdisplay 
sudo apt-get install xvfb xserver-xephyr 
pip install pyvirtualdisplay 

# install selenium version 2.53.6 
pip install selenium==2.53.6 

Wenn ich diesen Code ausführen

from pyvirtualdisplay import Display 
from selenium import webdriver 

display = Display(visible=0, size=(1024, 768)) 
display.start() 

browser = webdriver.Firefox() 
driver.get("http://www.python.org") 

driver.quit() 
display.stop() 

ich diesen Fehler:

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 55, in __init__ 
self.binary = firefox_binary or capabilities.get("binary", FirefoxBinary()) 
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 47, in __init__ 
self._start_cmd = self._get_firefox_start_cmd() 
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 163, in _get_firefox_start_cmd 
" Please specify the firefox binary location or install firefox") 
RuntimeError: Could not find firefox in your system PATH. Please specify the firefox binary location or install firefox 

Ich habe versucht, einen Link zu firefox in dem Bash-Profil hinzufügen echo export 'PATH="$PATH:/home/ubuntu/firefox"' >> ~/.bashrc indem Sie aber, dass hat das Problem nicht behoben.

UPDATE

konnte ich den Weg zu meinem Bash Profil erfolgreich hinzuzufügen. Ich erhalte jetzt diesen Fehler

"The browser appears to have exited " 
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details. 

Da ich bereits bin mit pyvirtualdisplay, weiß jemand eine Lösung?

Antwort

0

Nach meinem Verständnis ist Firefox nicht für Headless-Mechanismus gebaut [Korrigieren Sie mich, wenn ich falsch liege]. Sie können PhantomJs für eine bessere Handhabung verwenden.

Verwandte Themen