Ok, comenzaré con la solución, hay una versión compilada para arm aquí phantomjs-linux-armv6l, en el pi ejecute los siguientes comandos:
$ 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
Agregué:
sudo cp phantomjs-1.9.0-linux-armv6l/bin/phantomjs /usr/bin
Entonces phantomjs estará en tu camino.
[email protected] ~ $ phantomjs --version
1.9.0
[email protected] ~ $ phantomjs
phantomjs>
Ahora que lo tenemos hecho, es hora de probar:
[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")>
De las preguntas frecuentes A partir de PhantomJS 1.5, es puro headless y ya no es necesario ejecutar X11/Xvfb. .
Intenté usar xvfb-run y exportando la pantalla, usando un script de shell en init.d para iniciar xvfb, avancé un poco más al poder ejecutar iceweasel desde bash sin cabeza, sin problemas, pero aún no tengo cigarros cuando se trata de phantomjs y selenium. Creo que puede deberse a una incompatibilidad entre Selenium y la versión de phantomjs, independientemente de tener 1.9.0 y la navegación real sin cabeza es mucho más deseable.
Estaba en medio de la configuración de una cadena de herramientas e iba a intentar compilar yo mismo cuando encontré el enlace anterior, para cualquier persona interesada en la compilación cruzada, crosstools-ng hace la vida mucho más fácil.
Estoy ejecutando arm6, también hay una versión compilada para arm7 usando 2.0.0, las dependencias son:
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
El procedimiento de instalación, extraje el binario a dropbox:
wget https://www.dropbox.com/s/epj1rji9d239dco/phantomjs
chmod +x phantomjs
sudo cp phantomjs /usr/bin
El enlace original de github es phantomjs-2.0.0-armv7