PhantomJS没有返回页面源

时间:2016-03-10 23:46:01

标签: python selenium phantomjs

我安装了PhantomJS 1.9.0。

我尝试使用以下代码下载页面并显示HTML。

from selenium import webdriver

driver = webdriver.PhantomJS(service_args=['--ignore-ssl-   errors=true'])
page = driver.get('http://example.com')
print(page.page_source)

我收到以下错误:

/usr/bin/python3.4 phantom.py
Traceback (most recent call last):
File "phantom.py", line 5, in <module>
print(page.page_source)
AttributeError: 'NoneType' object has no attribute 'page_source'

显然这意味着driver.get不起作用,但原因是什么?

2 个答案:

答案 0 :(得分:2)

问题是您在page_source变量上调用page属性,这是不正确的。所有get方法都会导航到参数中指定的URL,但它不会返回要存储在page变量中的任何内容,这就是错误表明它是NoneType对象的原因。您需要做的是调用driver变量上的属性。

from selenium import webdriver
driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true'])
print(driver.page_source)

答案 1 :(得分:1)

我目前对于为什么没有很好的解释,但是分配这样的页面由于某种原因不起作用

from selenium import webdriver

driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true'])
driver.get('http://example.com')
html_content = driver.page_source
print(html_content)
driver.close()

我将继续寻找并阅读文档,看看我能否找到原因