Подтвердить что ты не робот

Python: Selenium с пустым источником страницы PhantomJS

У меня возникают проблемы с Selenium и PhantomJS в Windows7, когда я хочу получить источник страницы URL-адреса. browser.page_source возвращает только <html><head></head></html>. Я спал до browser.page_source, но это не помогло.

Это мой код:

from selenium import webdriver
browser = webdriver.PhantomJS('phantomjs-1.9.7-windows\phantomjs.exe')
url = 'myurl'
browser.get(url)
print browser.page_source

В Linux с той же версией PhantomJS он отлично работает. Также он работает на Windows Server 2003.

4b9b3361

Ответ 1

по умолчанию phantomjs использует SSLv3, но многие сайты после ошибки в ssl мигрируют в tls. Вот почему у вас пустая страница. используйте service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']

browser = webdriver.PhantomJS('phantomjs-1.9.7-windows\phantomjs.exe', service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])

Ответ 2

Используя service_args=['--ignore-ssl-errors=true'] сделал трюк!

browser = webdriver.PhantomJS('phantomjs-1.9.7-windows\phantomjs.exe', service_args=['--ignore-ssl-errors=true'])

Ответ 3

driverPhantom = webdriver.PhantomJS(driverLocation, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])      # initaling web driver for PhantomJs

Работал для меня.

Ответ 4

увеличение размера экрана, как показано ниже, для меня:

driver = webdriver.PhantomJS(path2phantom, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) 
driver.set_window_size(2000, 1500)