当我想获取URL页面的源时,在Windows7上使用Selenium和PhantomJS时遇到麻烦。 browser.page_source仅返回<html><head></head></html>。我之前睡过一会儿,browser.page_source但没有帮助。
browser.page_source
<html><head></head></html>
这是我的代码:
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。
默认情况下,phantomjs使用SSLv3,但ssl中的错误后许多站点都迁移到tls。这就是为什么您有空白页。用service_args=['-- ignore-ssl-errors=true', '--ssl-protocol=any']
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'])