Como instalar o PhantomJS para uso com o Python Selenium no Raspberry Pi?
Eu quero executar um script Python usandoSelenium WebDriver
comPhantomJS
como um navegador sem cabeça no meuRaspberry Pi executando Raspbian.
Originalmente, escrevi o script no OS X, onde funciona bem. Mas, ao tentar fazê-lo funcionar no Raspberry, estou tendo problemas.
Ao tentar executar o script, recebo este erro:
raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service /usr/bin/phantomjs
Breve versão do script:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
user_agent = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) " +
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36")
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = user_agent
serv_args = ["--ignore-ssl-errors=false", "--ssl-protocol=tlsv1",
"--disk-cache=false"]
driver = webdriver.PhantomJS(executable_path="/usr/bin/phantomjs",
desired_capabilities = dcap, service_arguments = serv_args, port=65000)
Vi outras pessoas com problemas parecidos com os meus - com soluções variadas - a maioria parece envolver a criação do PhantomJS, ou clonar e instalar um ramo do Github adaptado para o Raspberry (que agora está fora de sincronia com o projeto principal do PhantomJS).
QuestõesAlguém sabe como resolver o problema - e de fato o que realmente é o problema?Se a solução envolver a instalação manual dos binários para/usr/local/bin
ou tal, como eu faria isso? Os binários disponíveis noPágina do PhantomJS é paralinux-x86
elinux-i686
, então eu suponho que eles não funcionem em um Raspberry Pi 2 BProcessador ARM Cortex A-7.Também tentei construir o PhantomJS de acordo com essesinstruções, mas o processo congelou no meio. O Raspberry também não atende aos requisitos de hardware recomendados para a construção.Informação de fundoestou usandoPython 2.7.9
Eu criei umvirtualenv
e instalou todos os módulos Python nele; por exemplo.pip install selenium
e tente executar o script aquiInstalei a versão mais recente do PhantomJS viasudo apt-get install phantomjs
Eu desativei meuufw
firewall durante o teste