解決Python selenium get頁面很慢時(shí)的問題
driver.get("url")等到頁面全部加載渲染完成后才會(huì)執(zhí)行后續(xù)的腳本。
在執(zhí)行腳本時(shí),driver.get("url") ,如果當(dāng)前的url頁面內(nèi)容較多加載特別慢,很費(fèi)時(shí)間,但是我們需要操作的元素已經(jīng)加載出來,可以將頁面加載停掉,不影響后面的腳本執(zhí)行,解決辦法
設(shè)置頁面加載timeout,get操作: try get except 腳本window.stop(), 使用GeckoDriver上有效果,
但是在ChromeDriver上還是會(huì)有問題,拋出異常timeout后續(xù)腳本不會(huì)繼續(xù)執(zhí)行
GeckoDriver執(zhí)行具體如下:
訪問百度貼吧某個(gè)獲取其帖子總頁數(shù):
可以通過兩種方式獲取,簡(jiǎn)單的就是直接定位元素共11頁
代碼用定位尾頁獲取總頁數(shù)
from selenium import webdriver import re driver = webdriver.Firefox() #設(shè)定頁面加載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("加載頁面太慢,停止加載,繼續(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)") #定位到元素尾頁元素 #獲取尾頁頁碼鏈接文本 text = last_page_element.get_attribute("href") all_page_num = re.search("\d+$",text).group() # 正則匹配到頁碼 print("當(dāng)前貼吧貼子總頁數(shù)為:%s"%all_page_num)
以上這篇解決Python selenium get頁面很慢時(shí)的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pyecharts實(shí)現(xiàn)數(shù)據(jù)可視化
這篇文章主要介紹了pyecharts實(shí)現(xiàn)數(shù)據(jù)可視化,pyecharts 是百度開源的,適用于數(shù)據(jù)可視化的工具,配置靈活,展示圖表相對(duì)美觀,順滑,下面更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2022-03-03pandas如何將DataFrame?轉(zhuǎn)為txt文本去除引號(hào)
這篇文章主要介紹了pandas如何將DataFrame?轉(zhuǎn)為txt文本去除引號(hào),文中補(bǔ)充介紹了DataFrame導(dǎo)CSV?txt?||?每行有雙引號(hào)的原因及解決辦法,感興趣的朋友跟隨小編一起看看吧2024-01-01一篇文章告訴你如何用python進(jìn)行自動(dòng)化測(cè)試,調(diào)用c程序
這篇文章主要介紹了Python實(shí)現(xiàn)性能自動(dòng)化測(cè)試調(diào)用c程序的方法,本文圖文并茂通過實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2021-08-08python實(shí)現(xiàn)對(duì)excel中需要的數(shù)據(jù)的單元格填充顏色
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)excel中需要的數(shù)據(jù)的單元格填充顏色,文章圍繞主題展開詳細(xì)單元格填充介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06Python應(yīng)用開發(fā)頻繁假死的問題分析及解決
最近在開發(fā)一款自動(dòng)化的應(yīng)用,但是,在測(cè)試時(shí),卻發(fā)現(xiàn)了問題,當(dāng)我點(diǎn)擊暫停任務(wù)后,此時(shí)子線程被阻塞,如果我這個(gè)時(shí)候點(diǎn)擊停止,那么就會(huì)任務(wù)結(jié)束,之后,如果我再點(diǎn)擊開始運(yùn)行,整個(gè)應(yīng)用就會(huì)卡死,所以本文介紹了Python應(yīng)用開發(fā)頻繁假死的問題分析及解決,需要的朋友可以參考下2024-08-08