解決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)加載出來(lái),可以將頁(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ù)

from selenium import webdriver
import re
driver = webdriver.Firefox()
#設(shè)定頁(yè)面加載timeout時(shí)長(zhǎng),需要的元素能加載出來(lái)就行
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í)的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Python中合并字典模塊ChainMap的隱藏坑【推薦】
在Python中,當(dāng)我們有兩個(gè)字典需要合并的時(shí)候,可以使用字典的 update 方法,接下來(lái)通過本文給大家介紹在Python中合并字典模塊ChainMap的隱藏坑,感興趣的朋友一起看看吧2019-06-06
python?plotly設(shè)置go.Scatter為實(shí)線實(shí)例
這篇文章主要為大家介紹了python?plotly設(shè)置go.Scatter為實(shí)線線條的樣式實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
使用Python在Windows下獲取USB PID&VID的方法
今天小編就為大家分享一篇使用Python在Windows下獲取USB PID&VID的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-07-07
TensorFlow人工智能學(xué)習(xí)按索引取數(shù)據(jù)及維度變換詳解
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)按索引取數(shù)據(jù)及維度變換的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
python flask基于cookie和session來(lái)實(shí)現(xiàn)會(huì)話控制的實(shí)戰(zhàn)代碼
所謂的會(huì)話(session),就是客戶端瀏覽器和服務(wù)端網(wǎng)站之間一次完整的交互過程,本文介紹falsk通過cookie和session來(lái)控制http會(huì)話的全部解析,通常我們可以用cookie和session來(lái)保持用戶登錄等,感興趣的朋友一起看看吧2024-03-03
Django 接收Post請(qǐng)求數(shù)據(jù),并保存到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Django 接收Post請(qǐng)求數(shù)據(jù),并保存到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-07-07
解決django.db.utils.IntegrityError:(1048, Column las
這篇文章主要介紹了解決django.db.utils.IntegrityError:(1048, Column last_login cannot be null)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
如何基于Python + requests實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求
這篇文章主要介紹了如何基于Python + requests實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

