URLのページのソースを取得したいのですが、Windows7のSeleniumとPhantomJSで問題が発生します。 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
同じバージョンのPhantomJSを搭載したLinuxでは、完全に機能します。また、Windows Server2003でも動作します。
デフォルトでは、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'])
service_args=['--ignore-ssl-errors=true']
を使用すると、うまくいきました。
browser = webdriver.PhantomJS('phantomjs-1.9.7-windows\phantomjs.exe', service_args=['--ignore-ssl-errors=true'])
driverPhantom = webdriver.PhantomJS(driverLocation, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) # initaling web driver for PhantomJs
私のために働いた。
以下のように画面サイズを大きくすると、うまくいきました。
driver = webdriver.PhantomJS(path2phantom、service_args = ['-ignore-ssl-errors = true'、 '-ssl-protocol = any'])
driver.set_window_size(2000、1500)