【发布时间】:2014-06-28 04:16:32
【问题描述】:
当我想获取 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 Server 2003。
【问题讨论】:
-
尝试一些调试,例如截图
-
截图是空的,空白的图像。我认为这是 PhantomJS 的问题,我尝试使用 PyQt4 的 webkit 加载页面,但结果是一样的,只是 和 标签。这是让我头疼的 URL:homesearch.com/browse?fulltextquery=miami+fl&page=0
-
我在导航到某些 https://url 时遇到了同样的问题。调用
browser.get(url)后,使用time.sleep(few_seconds)或webdriver 的expected conditions 等待页面上出现某些元素 -
也尝试使用这些参数创建驱动程序实例
browser = webdriver.PhantomJS('phantomjs-1.9.7-windows\phantomjs.exe', service_args=['--ignore-ssl-errors=true']) -
我使用了 15-20 秒的睡眠时间,结果是一样的。我会尝试使用 service_args。