Ok inizierò con la soluzione, c'è una versione compilata per arm qui phantomjs-linux-armv6l, sul pi eseguire i seguenti comandi:
$ cd /tmp
$ wget https://github.com/aeberhardo/phantomjs-linux-armv6l/archive/master.zip
$ unzip master.zip
$ cd phantomjs-linux-armv6l-master
$ bunzip2 *.bz2 && tar xf *.tar
Ho aggiunto:
sudo cp phantomjs-1.9.0-linux-armv6l/bin/phantomjs /usr/bin
Quindi phantomjs sarà sulla tua strada.
[email protected] ~ $ phantomjs --version
1.9.0
[email protected] ~ $ phantomjs
phantomjs>
Ora che abbiamo finito, è il momento di testare:
[email protected] ~ $ cat test.py
#!/usr/bin/python
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('http://stackoverflow.com/questions/36314771/how-to-install-phantomjs-for-use-with-python-selenium-on-the-raspberry-pi/36388824#36388824')
a = driver.find_element_by_xpath('//*[@id="question-header"]/h1/a')
print(a.text)
print(driver)
[email protected] ~ $ python test.py
How to install PhantomJS for use with Python Selenium on the Raspberry Pi?
<selenium.webdriver.phantomjs.webdriver.WebDriver (session="b184e110-f9c4-11e5-aede-7f5c42f062d7")>
Dalle domande frequenti. A partire da PhantomJS 1.5, è completamente headless e non è più necessario eseguire X11/Xvfb. .
Ho provato a usare xvfb-run ed esportando il display, usando uno script di shell in init.d per avviare xvfb, ho ottenuto un po 'di più in grado di eseguire iceweasel da bash senza problemi ma ancora nessun sigaro quando si trattava di phantomjs e selenium. Penso che potrebbe semplicemente dipendere da un'incompatibilità tra il selenio e la versione di phantomjs, indipendentemente dal fatto che avere 1.9.0 e una vera navigazione senza testa sia molto più desiderabile.
Ero nel bel mezzo della creazione di una toolchain e stavo per provare a compilare da solo quando ho trovato il link qui sopra, per chiunque sia interessato alla compilazione incrociata, crosstools-ng rende la vita molto più semplice.
Sto eseguendo un arm6, c'è anche una versione compilata per arm7 usando 2.0.0, le dipendenze sono:
sudo apt-get install flex bison gperf ruby perl libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev libpng-dev libjpeg-dev python libX11-dev libxext-dev
La procedura di installazione, ho estratto il binario in Dropbox:
wget https://www.dropbox.com/s/epj1rji9d239dco/phantomjs
chmod +x phantomjs
sudo cp phantomjs /usr/bin
Il link github originale è phantomjs-2.0.0-armv7