溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決Python selenium get頁(yè)面很慢時(shí)的問題

發(fā)布時(shí)間:2021-06-21 15:30:00 來源:億速云 閱讀:636 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何解決Python selenium get頁(yè)面很慢時(shí)的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

driver.get("url")等到頁(yè)面全部加載渲染完成后才會(huì)執(zhí)行后續(xù)的腳本。

在執(zhí)行腳本時(shí),driver.get("url") ,如果當(dāng)前的url頁(yè)面內(nèi)容較多加載特別慢,很費(fèi)時(shí)間,但是我們需要操作的元素已經(jīng)加載出來,可以將頁(yè)面加載停掉,不影響后面的腳本執(zhí)行,解決辦法

設(shè)置頁(yè)面加載timeout,get操作: try get except 腳本window.stop(), 使用GeckoDriver上有效果,

但是在ChromeDriver上還是會(huì)有問題,拋出異常timeout后續(xù)腳本不會(huì)繼續(xù)執(zhí)行

GeckoDriver執(zhí)行具體如下:

訪問百度貼吧某個(gè)獲取其帖子總頁(yè)數(shù):

可以通過兩種方式獲取,簡(jiǎn)單的就是直接定位元素共11頁(yè)

代碼用定位尾頁(yè)獲取總頁(yè)數(shù)

如何解決Python selenium get頁(yè)面很慢時(shí)的問題

from selenium import webdriver
import re
 
driver = webdriver.Firefox()
#設(shè)定頁(yè)面加載timeout時(shí)長(zhǎng),需要的元素能加載出來就行
driver.set_page_load_timeout(20)
driver.set_script_timeout(20)
#try去get
try:
  driver.get("http://tieba.baidu.com/p/5659969529?red_tag=w0852861182")
except:
  print("加載頁(yè)面太慢,停止加載,繼續(xù)下一步操作")
  driver.execute_script("window.stop()")
last_page_element = driver.find_element_by_css_selector("li.l_pager.pager_theme_4.pb_list_pager >a:nth-child(12)") #定位到元素尾頁(yè)元素
#獲取尾頁(yè)頁(yè)碼鏈接文本
text = last_page_element.get_attribute("href")
all_page_num = re.search("\d+$",text).group() # 正則匹配到頁(yè)碼
print("當(dāng)前貼吧貼子總頁(yè)數(shù)為:%s"%all_page_num)

以上是“如何解決Python selenium get頁(yè)面很慢時(shí)的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI