web-dev-qa-db-ja.com

Python:PhantomJSの空のページソースを持つSelenium

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でも動作します。

19
Paul R.

デフォルトでは、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'])
33
user1032745

service_args=['--ignore-ssl-errors=true']を使用すると、うまくいきました。

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

私のために働いた。

2
Vardhman Patil

以下のように画面サイズを大きくすると、うまくいきました。

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