わかりました、解決策から始めましょう。arm 用にコンパイルされたバージョンがここ phantomjs-linux-armv6l にあり、pi で次のコマンドを実行します。
$ 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
追加しました:
sudo cp phantomjs-1.9.0-linux-armv6l/bin/phantomjs /usr/bin
したがって、phantomjs はパス上にあります。
[email protected] ~ $ phantomjs --version
1.9.0
[email protected] ~ $ phantomjs
phantomjs>
これで、テストが完了しました:
[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")>
よくある質問より。 PhantomJS 1.5 以降では、純粋なヘッドレスになり、X11/Xvfb を実行する必要がなくなりました。 .
xvfb-run を使ってみた init.dのシェルスクリプトを使用してxvfbを起動し、ディスプレイをエクスポートすると、問題なくbashヘッドレスからiceweaselを実行できるようになりましたが、phantomjsとseleniumに関しては葉巻はまだありません。セレンとphantomjsのバージョン間の非互換性に帰着する可能性があると思います.1.9.0と実際のヘッドレスブラウジングがはるかに望ましいにもかかわらず.
私はツールチェーンをセットアップしている最中で、上記のリンクを見つけたときに自分でコンパイルしようとしていました。
私は arm6 を実行しています。また、2.0.0 を使用して arm7 用にコンパイルされたバージョンもあります。依存関係は次のとおりです。
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
インストール手順、バイナリをドロップボックスに抽出しました:
wget https://www.dropbox.com/s/epj1rji9d239dco/phantomjs
chmod +x phantomjs
sudo cp phantomjs /usr/bin
元の github リンクは phantomjs-2.0.0-armv7 です