解決Python selenium get頁面很慢時的問題
driver.get("url")等到頁面全部加載渲染完成后才會執(zhí)行后續(xù)的腳本。
在執(zhí)行腳本時,driver.get("url") ,如果當前的url頁面內容較多加載特別慢,很費時間,但是我們需要操作的元素已經加載出來,可以將頁面加載停掉,不影響后面的腳本執(zhí)行,解決辦法
設置頁面加載timeout,get操作: try get except 腳本window.stop(), 使用GeckoDriver上有效果,
但是在ChromeDriver上還是會有問題,拋出異常timeout后續(xù)腳本不會繼續(xù)執(zhí)行
GeckoDriver執(zhí)行具體如下:
訪問百度貼吧某個獲取其帖子總頁數(shù):
可以通過兩種方式獲取,簡單的就是直接定位元素共11頁
代碼用定位尾頁獲取總頁數(shù)

from selenium import webdriver
import re
driver = webdriver.Firefox()
#設定頁面加載timeout時長,需要的元素能加載出來就行
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("當前貼吧貼子總頁數(shù)為:%s"%all_page_num)
以上這篇解決Python selenium get頁面很慢時的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pyecharts實現(xiàn)數(shù)據(jù)可視化
這篇文章主要介紹了pyecharts實現(xiàn)數(shù)據(jù)可視化,pyecharts 是百度開源的,適用于數(shù)據(jù)可視化的工具,配置靈活,展示圖表相對美觀,順滑,下面更多詳細內容,需要的小伙伴可以參考一下2022-03-03
pandas如何將DataFrame?轉為txt文本去除引號
這篇文章主要介紹了pandas如何將DataFrame?轉為txt文本去除引號,文中補充介紹了DataFrame導CSV?txt?||?每行有雙引號的原因及解決辦法,感興趣的朋友跟隨小編一起看看吧2024-01-01
python實現(xiàn)對excel中需要的數(shù)據(jù)的單元格填充顏色
這篇文章主要介紹了python實現(xiàn)對excel中需要的數(shù)據(jù)的單元格填充顏色,文章圍繞主題展開詳細單元格填充介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06

