python 3.x - please - No se ha podido cargar Atom '''' find_element ''''
selenium phantomjs example (3)
Estos son los pasos precisos que funcionaron para mí:
Purgar viejos phantomjs
apt purge phantomjs
Wget el último phantomjs (según phantomjs.org/download.html )
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
Deshazte de él
tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2
Se movió el ejecutable phantomjs a / usr / bin / (puede necesitar sudo)
cp phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/
Recientemente instalé PhantomJS y encontré este error en mi primera ejecución:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.PhantomJS()
driver.get("http://www.google.com")
driver.find_element_by_id(''some_element'').send_keys(''something'' + Keys.RETURN)
Este código funciona con Firefox webdriver pero no funciona con PhantomJS. Obtuve el siguiente error:
Traceback (most recent call last):
File "<PATHTOFILE>", line 20, in <module>
driver.find_element_by_id(''lst-ib'').send_keys(''something'' + Keys.RETURN)
File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 266, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 744, in find_element
{''using'': by, ''value'': value})[''value'']
File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/errorhandler.py", line 165, in check_response
raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message: Error - Unable to load Atom ''find_element'' from file '':/ghostdriver/./third_party/webdriver-atoms/find_element.js''
La razón es que utilicé apt-get install Phantomjs
para instalarlo, pero parece que es una versión Phantomjs no totalmente funcional instalada por apt-get
. Por lo tanto, descárguelo manualmente desde el sitio web de Phantomjs y agregue la dirección que lo contiene a la PATH
entorno PATH
.
Para mí, comienza a funcionar después de
apt install nodejs-legacy # just an alias node/nodejs to make npm install work
apt purge phantomjs # optionaly
npm install -g phantomjs # most important part because apt installation failed for me