GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare PhantomJS per l'utilizzo con Python Selenium su Raspberry Pi?

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


Linux
  1. Come installare Python su Linux

  2. Come installare e utilizzare il comando Ping in Linux

  3. Come Kali si occupa dell'imminente Python 2 End-of-Life

  4. Come utilizzare l'esportazione con Python su Linux

  5. Come posso installare l'ultimo Anaconda con wget

Come installare Setuptools per Python su Linux

Come installare il sistema operativo Raspbian su Raspberry Pi

Come configurare il tuo sistema operativo Raspberry Pi per usarlo per la prima volta

Come installare Python 2.7 su CentOS 7.1 o 6.7 con Anaconda

Come installare la distribuzione Anaconda Python su Ubuntu 18.04

Come installare Apache con Python Mod_wsgi su Debian 10