2016-08-19 11 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"ボタンを2回クリックしなければなりませんでした。私はすべてのソースコードを見ることができました。あなたが見ることができないことについてもっと詳しく説明できますか? –

答えて

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) 
関連する問題