日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python+selenium自动化:页面加载慢、超时加载情况下内容已经加载完毕的快速执行脚本解决方案,页面加载时间过长优化方案

發(fā)布時(shí)間:2025/4/16 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python+selenium自动化:页面加载慢、超时加载情况下内容已经加载完毕的快速执行脚本解决方案,页面加载时间过长优化方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

driver.set_page_load_timeout(3) 頁(yè)面加載時(shí)間設(shè)置 3 秒,執(zhí)行到某一步涉及頁(yè)面加載如果加載時(shí)間超過(guò) 3 秒就會(huì)停止加載并拋出異常,其實(shí)這個(gè)時(shí)候頁(yè)面內(nèi)的元素已經(jīng)加載出來(lái)了,我們?cè)谶@一步進(jìn)行異常捕獲不讓程序停止,然后直接執(zhí)行下一步即可。

報(bào)錯(cuò)信息如下:
selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: 3.000

def analyze_jira(driver, d):# 方案一:異常捕獲方案# 頁(yè)面加載時(shí)間設(shè)置,超時(shí)會(huì)直接報(bào)錯(cuò),將會(huì)報(bào)錯(cuò)的地方加個(gè)異常不過(guò),完美解決問(wèn)題driver.set_page_load_timeout(3)for (k,v) in d.items():driver.find_element_by_xpath('//input[@id="quickSearchInput"]').send_keys(k[4:])try:# 查詢操作,耗時(shí)很長(zhǎng)ActionChains(driver).send_keys(Keys.ENTER).perform()except Exception as e:print("抓到異常,頁(yè)面停止加載,但是程序不停止。")time.sleep(1)# 提取頁(yè)面指定元素的文本question_zhuti = driver.find_element_by_xpath('//*[@id="summary-val"]').text;

還可以通過(guò) set_script_timeout() 方法來(lái)解決問(wèn)題。

def analyze_jira(driver, d):# 方案二:同時(shí)設(shè)置腳本執(zhí)行超時(shí)時(shí)間方案# 設(shè)置腳本報(bào)錯(cuò)之前的等待時(shí)間,這個(gè)小于等于上面set_page_load_timeout()設(shè)置的時(shí)間就不會(huì)拋錯(cuò)。driver.set_page_load_timeout(3)driver.set_script_timeout(3)for (k,v) in d.items():driver.find_element_by_xpath('//input[@id="quickSearchInput"]').send_keys(k[4:])# 查詢操作,耗時(shí)很長(zhǎng)ActionChains(driver).send_keys(Keys.ENTER).perform()time.sleep(1)# 提取頁(yè)面指定元素的文本question_zhuti = driver.find_element_by_xpath('//*[@id="summary-val"]').text;

set_page_load_timeout()
方法說(shuō)明:
Set the amount of time to wait for a page load to complete before throwing an error.
翻譯:
設(shè)置在拋出錯(cuò)誤之前等待頁(yè)面加載完成的時(shí)間。

set_script_timeout()
方法說(shuō)明:
Set the amount of time that the script should wait during an execute_async_script call before throwing an error.
翻譯:
設(shè)置腳本在execute_async_script調(diào)用期間拋出錯(cuò)誤之前應(yīng)該等待的時(shí)間。

喜歡的點(diǎn)個(gè)贊?吧!

總結(jié)

以上是生活随笔為你收集整理的Python+selenium自动化:页面加载慢、超时加载情况下内容已经加载完毕的快速执行脚本解决方案,页面加载时间过长优化方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。