您好,登錄后才能下訂單哦!
軟件版本:
python 3.7.2
selenium 3.141.0
pycharm 2018.3.5
具體實(shí)現(xiàn)代碼如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
# 創(chuàng)建chrome瀏覽器驅(qū)動(dòng),無(wú)頭模式
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://www.cfr.org/search?keyword=china")
time.sleep(3)
# 獲取頁(yè)面初始高度
js = "return action=document.body.scrollHeight"
height = driver.execute_script(js)
# 將滾動(dòng)條調(diào)整至頁(yè)面底部
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
time.sleep(5)
#定義初始時(shí)間戳(秒)
t1 = int(time.time())
#定義循環(huán)標(biāo)識(shí),用于終止while循環(huán)
status = True
# 重試次數(shù)
num=0
while status:
# 獲取當(dāng)前時(shí)間戳(秒)
t2 = int(time.time())
# 判斷時(shí)間初始時(shí)間戳和當(dāng)前時(shí)間戳相差是否大于30秒,小于30秒則下拉滾動(dòng)條
if t2-t1 < 30: 無(wú)錫看婦科好的醫(yī)院 http://www.csfk0731.com/
new_height = driver.execute_script(js)
if new_height > height :
time.sleep(1)
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
# 重置初始頁(yè)面高度
height = new_height
# 重置初始時(shí)間戳,重新計(jì)時(shí)
t1 = int(time.time())
elif num < 3: # 當(dāng)超過(guò)30秒頁(yè)面高度仍然沒(méi)有更新時(shí),進(jìn)入重試邏輯,重試3次,每次等待30秒
time.sleep(3)
num = num+1
else: # 超時(shí)并超過(guò)重試次數(shù),程序結(jié)束跳出循環(huán),并認(rèn)為頁(yè)面已經(jīng)加載完畢!
print("滾動(dòng)條已經(jīng)處于頁(yè)面最下方!")
status = False
# 滾動(dòng)條調(diào)整至頁(yè)面頂部
driver.execute_script('window.scrollTo(0, 0)')
break
# 打印頁(yè)面源碼
content = driver.page_source
print(content)
以上代碼為selenium采集動(dòng)態(tài)下拉加載頁(yè)面,使用上述代碼執(zhí)行后,可通過(guò)其他方式進(jìn)行頁(yè)面元素獲取!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。