当我想获取网页的来源时,我在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 Server 2003。
答案 0 :(得分:32)
默认情况下,phantomjs使用SSLv3,但是在ssl中的bug之后的许多站点都迁移到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'])
答案 1 :(得分:8)
使用service_args=['--ignore-ssl-errors=true']
就可以了!
browser = webdriver.PhantomJS('phantomjs-1.9.7-windows\phantomjs.exe', service_args=['--ignore-ssl-errors=true'])
答案 2 :(得分:2)
driverPhantom = webdriver.PhantomJS(driverLocation, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) # initaling web driver for PhantomJs
为我工作。
答案 3 :(得分:0)
增加屏幕尺寸,如下图所示:
driver = webdriver.PhantomJS(path2phantom, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
driver.set_window_size(2000, 1500)