2016-03-10 38 views
1

我已經安裝了PhantomJS 1.9.0。PhantomJS沒有返回的頁面源

我嘗試下面的代碼下載頁面,並顯示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不工作,但原因是什麼?

+0

得到的是一個問題,就地操作,只需調用get然後打印 driver.get_source –

回答

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() 

我會繼續尋找,去閱讀文檔,看工作如果我可以找出這是爲什麼

+0

感謝您的答覆。我更新了代碼,但是現在我收到'消息:無法連接到服務/ usr/bin/phantomjs'的錯誤。我已經安裝了它。 phantomjs是在/ usr/bin中/ phantomjs – conquester

+0

@conquester銘記您的間距和你應該確定'--ignore-SSL-錯誤= TRUE;這一切都一個複姓ARG – bmcculley

+0

感謝您的。我完全錯過了! – conquester

2

問題是你打電話page變量,這是不正確的page_source屬性。所有get方法不會被導航到參數中指定的URL,但它不返回任何東西存儲在page變量,這就是爲什麼錯誤表明它是一個NoneType對象。你需要做的是調用driver變量的屬性。

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