Я использую PhantomJS 2.1.1 в Python 2.7.12 под Ubuntu Server 16.04.1, с дисплеем от pyvirtualdisplayphantomjs не загружая Instagram и pintersest веб-страниц
PhantomJS не может загрузить Instagram интерактивных страниц DOM (https://www.instagram.com/accounts/login/) , Код страницы должен быть в пределах
<span id="react-root"></span>
но он остается пустым.
Страницы Instagram правильно загружены с помощью PhantomJS 2.1.1 в python 2.7.10 под Mac OS X 10.11.6; PhantomJS под Ubuntu Server может корректно загружать многие другие веб-сайты (twitter, tumblr и т. Д.), Поэтому я предполагаю, что в Ubuntu Server есть недостающий модуль, но он не может понять, какой из них.
Он не может ни загрузить https://www.pinterest.com/login/, но эта страница правильно загружена, используя просто завиток.
Может кто-нибудь помочь? Спасибо.
Вот код питона:
from selenium import webdriver
from pytvirtualdisplay import Display
display = Display(visible=0,size=(800,600))
display.start()
browser = webdriver.PhantomJS()
browser.set_window_size(800, 600)
browser.get('https://www.instagram.com/accounts/login/')
или
browser.get('https://www.pinterest.com/login/')
ghostdriver.log
[INFO - 2016-09-12T16:08:37.057Z] GhostDriver - Main - running on port 49739
[INFO - 2016-09-12T16:08:37.933Z] Session [2a14fc60-7903-11e6-a755-53e4799f55f3] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true}
[INFO - 2016-09-12T16:08:37.933Z] Session [2a14fc60-7903-11e6-a755-53e4799f55f3] - page.customHeaders: - {}
[INFO - 2016-09-12T16:08:37.933Z] Session [2a14fc60-7903-11e6-a755-53e4799f55f3] - Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"linux-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"proxyType":"direct"}}
[INFO - 2016-09-12T16:08:37.934Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: 2a14fc60-7903-11e6-a755-53e4799f55f3
Обновление: установка phantomjs с
sudo apt-get install phantomjs
он правильно загружает всю страницу. Но в этом пакете отсутствуют некоторые важные сторонние зависимости (например, find_element Atom).
установка phantomjs с
npm install phantomjs-prebuilt
это не правильно загрузить страницу (даже если он получил все сторонние Atoms).
Есть ли способ использовать исполняемый файл, установленный с apt-get и сторонними атомами, установленными npm?