Quindi ho difficoltà a far funzionare il selenio con un driver headless, in particolare PhantomJS. Sto cercando di farlo funzionare su un server web Ubuntu (Ubuntu 14.04.2 LTS).Selenium Python Headless Webdriver (PhantomJS) non funziona
eseguendo i seguenti comandi da un interprete python (Python 2.7.6) dà:
from selenium import webdriver
driver = webdriver.PhantomJS()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/service.py", line 76, in start
raise WebDriverException("Unable to start phantomjs with ghostdriver: %s" % e)
selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghostdriver: [Errno 2] No such file or directory
Ho anche provato:
driver = webdriver.PhantomJS(executable_path="/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/service.py", line 76, in start
raise WebDriverException("Unable to start phantomjs with ghostdriver: %s" % e)
selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghostdriver: [Errno 13] Permission denied
Ho anche aggiunto al percorso pitone:
import sys
sys.path.append("/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/")
Sono attualmente connesso come root. Autorizzazioni per la directory phantomjs sono:
drwxr-sr-x 2 root staff 4096 Sep 9 06:58 phantomjs
e per phantomjs/webdriver.py:
-rw-r--r-- 1 root root 2985 Sep 9 06:58 webdriver.py
Ho confermato il selenio è installato e up-to-date (PIP installare il selenio --upgrade) . Si è installato in:
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/
print selenium.__version__
2.47.1
Ho guardato:
https://superuser.com/questions/674322/python-selenium-phantomjs-unable-to-start-phantomjs-with-ghostdriver - Windows specifico, ma senza fortuna seguendo i suggerimenti simili.
Using Selenium in the background - risposta suggerisce PhatomJS con percorso completo.
https://code.google.com/p/selenium/issues/detail?id=6736 - Ho disinstallato il selenio e installato la v2.37, senza fortuna. Reinstallata l'ultima versione e ancora senza fortuna.
Inoltre alcuni altri collegamenti, la maggior parte sembrano raccomandare specificando il percorso dell'eseguibile.
Ho testato il mio programma su un server localmente ospitato (su OSX), utilizzando chromedriver. In realtà sto usando Splinter (https://splinter.readthedocs.org/en/latest/#headless-drivers) per quello, e ho provato gli altri driver headless (django e zope.testbrowser) ma ho avuto problemi simili.
Sono aperto a qualsiasi suggerimento, non mi dispiace cambiare driver se necessario.
Grazie in anticipo per qualsiasi aiuto.
Funzionava anche su Mac OSX. – vaichidrewar
Grazie per il suggerimento. Questo ha funzionato anche per me. – cdfh
Ho risolto la mia domanda usando Linux Mint – rafaelcpalmeida