web-dev-qa-db-fra.com

Python: Selenium with PhantomJS source de page vide

J'ai des problèmes avec Selenium et PhantomJS sur Windows7 lorsque je souhaite obtenir le source de la page d'une URL. browser.page_source renvoie uniquement <html><head></head></html>. J'ai déjà dormi avant browser.page_source mais ça n'a pas aidé.

Ceci est mon code:

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

Sous Linux avec la même version de PhantomJS, cela fonctionne parfaitement. En outre, cela fonctionne sur Windows Server 2003.

19
Paul R.

par défaut, les phantomjs utilisent SSLv3, mais de nombreux sites après le bogue dans ssl migrent vers tls. C'est pourquoi vous avez une page blanche. utilisez 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'])
32
user1032745

Utiliser service_args=['--ignore-ssl-errors=true'] a fait l'affaire!

browser = webdriver.PhantomJS('phantomjs-1.9.7-windows\phantomjs.exe', service_args=['--ignore-ssl-errors=true'])
8
Paul R.
driverPhantom = webdriver.PhantomJS(driverLocation, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])      # initaling web driver for PhantomJs

Travaillé pour moi.

2
ANDY_VAR

augmenter la taille de l'écran comme ci-dessous a fonctionné pour moi:

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

0
Ashraful Abedin