2016-08-19 66 views
0

當我通過Chrome手動導航到該網站後查看源HTML時,可以看到完整的頁面源代碼,但通過硒加載頁面源代碼時我沒有獲取完整的頁面源代碼。在Selenium中無法查看完整的頁面源

from bs4 import BeautifulSoup 
from selenium import webdriver 
import sys,time 


driver = webdriver.Chrome(executable_path=r"C:\Python27\Scripts\chromedriver.exe") 
driver.get('http://www.magicbricks.com/') 


driver.find_element_by_id("buyTab").click() 

time.sleep(5) 
driver.find_element_by_id("keyword").send_keys("Navi Mumbai") 

time.sleep(5) 
driver.find_element_by_id("btnPropertySearch").click() 

time.sleep(30) 

content = driver.page_source.encode('utf-8').strip() 

soup = BeautifulSoup(content,"lxml") 

print soup.prettify() 
+0

你可以添加你所上的webdriver錯過了頁面的源代碼? – Grasshopper

+0

您是否曾嘗試在'driver.get('http://www.magicbricks.com/')''行之後放置'time.sleep(5)'或其他任意時間?可能是因爲您正在尋找可用的組件,頁面無法快速加載。 –

+0

另外,我注意到該網站有一個彈出窗口,當您開始使用它時會出現。由於這個彈出窗口,我不得不單擊「btnPropertySearch」按鈕兩次。儘管我能看到所有的源代碼。你能否詳細說明你看不到的東西? –

回答

0

該網站可能阻止或限制硒的用戶代理。一個簡單的測試就是更改用戶代理並查看是否可以。在這個問題的更多信息:

Change user agent for selenium driver

報價:

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 
opts = Options() 
opts.add_argument("user-agent=whatever you want") 

driver = webdriver.Chrome(chrome_options=opts)