python+selenium動的ロード(ドロップダウンロード)のページ内容を収集し、自動的にドロップダウンスクロールバー
6902 ワード
ソフトウェアのバージョン:
python 3.7.2 selenium 3.141.0 pycharm 2018.3.5
実装コードは次のとおりです.
以上のコードはselenium採集ダイナミックドロップダウンロードページであり、上記のコードを使用して実行すると、他の方法でページ要素の取得が可能になります.
python 3.7.2 selenium 3.141.0 pycharm 2018.3.5
実装コードは次のとおりです.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
# chrome ,
chrome_options = Options()
# chrome_options.add_argument('--headless')
chrome_options.add_argument("--start-maximized");
driver = webdriver.Chrome("D://googleDever//chromedriver.exe",chrome_options=chrome_options)
#
driver.get("https://wenku.baidu.com/search?lm=0&od=0&ie=utf-8&word=csdn")
time.sleep(3)
#
js = "return action=document.body.scrollHeight"
height = driver.execute_script(js)
#
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
time.sleep(5)
# ( )
t1 = int(time.time())
# , while
status = True
#
num=0
while status:
# ( )
t2 = int(time.time())
# 30 , 30
if t2-t1 < 30:
new_height = driver.execute_script(js)
if new_height > height :
time.sleep(1)
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
#
height = new_height
# ,
t1 = int(time.time())
elif num < 3: # 30 , , 3 , 30
time.sleep(3)
num = num+1
else: # , , !
print(" !")
status = False
#
driver.execute_script('window.scrollTo(0, 0)')
break
#
content = driver.page_source
print(content)
以上のコードはselenium採集ダイナミックドロップダウンロードページであり、上記のコードを使用して実行すると、他の方法でページ要素の取得が可能になります.