selenium查找網(wǎng)頁出現(xiàn)加載卡頓或失敗的解決方法
selenium獲取一個網(wǎng)頁,某個網(wǎng)頁的資源卡了很久還沒有加載成功,如何放棄這個卡的數(shù)據(jù),繼續(xù)往下走
有2鐘方式。通常可以采用下面的方式一來處理這種情況
方式一、WebDriverWait
這種方式對于資源比較多比較復雜的網(wǎng)頁比較合適,比如有些圖片在國外,一直加載不出來。mail.com就是這樣
當網(wǎng)頁15秒還沒有加載完成,此時代碼不管有沒有找到元素都會繼續(xù)往下走,:
- 如果沒有找到元素就會拋異常。
- 如果找到元素,就會點擊
這個時候,如果拋異常??梢远鄧L試即便,直到不拋異常即可繼續(xù)往下走
def ClickElementByXpath(self, brower, xPath):
try:
brower.implicitly_wait(5)
self.insert_text_to_last_line(self.log_pass_file, xPath)
result = WebDriverWait(brower, 15).until(EC.presence_of_element_located((By.XPATH, xPath)))
result.click()
return True
except Exception as e:
print('exception timeout!!!')
return False方式二、find_element
這種方式適合資源能快速加載完成的網(wǎng)站。
find_element會等到網(wǎng)站所有的資源全部加載完成后,再繼續(xù)往下執(zhí)行,這樣的話更穩(wěn)定,但對于有些網(wǎng)站資源本身很卡,就會一直卡住了,導致卡非常久,最后腳本運行失敗。
def ClickElementByXpath(self, brower, xPath):
try:
brower.implicitly_wait(55)
self.insert_text_to_last_line(self.log_pass_file, xPath)
#element_input = brower.find_element_by_xpath(xPath)
element_input = brower.find_element(By.XPATH, xPath)
element_input.click()
return True
except Exception as e:
print('exception timeout!!!')
return False是否可以設置超時時間 當元素的點擊后 ,不等頁面加載完成,接著往下走
在Selenium中,可以使用WebDriver的set_page_load_timeout方法來設置頁面加載的超時時間,但是這個設置通常是應用于整個頁面的加載,而不是單個元素的點擊操作。如果你希望在點擊元素后不等待頁面加載完成,而是繼續(xù)執(zhí)行后續(xù)操作,可以采取以下方法:
使用set_page_load_timeout:你可以設置一個較短的頁面加載超時時間,以便在點擊元素后等待較短的時間。然后,可以在捕獲超時異常后,繼續(xù)執(zhí)行后續(xù)操作。
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
# 創(chuàng)建 WebDriver 實例
driver = webdriver.Chrome()
# 設置頁面加載超時時間為5秒
driver.set_page_load_timeout(5)
try:
# 打開網(wǎng)頁
driver.get("https://example.com")
# 找到要點擊的元素
element = driver.find_element_by_id("my_element_id")
# 點擊元素
element.click()
except TimeoutException:
print("頁面加載超時")
# 在這里可以繼續(xù)執(zhí)行后續(xù)操作,而不用等待頁面加載完成
# 關閉 WebDriver
driver.quit()以上就是selenium查找網(wǎng)頁出現(xiàn)加載卡頓或失敗的解決方法的詳細內(nèi)容,更多關于selenium查找網(wǎng)頁的資料請關注腳本之家其它相關文章!
相關文章
Pyinstaller打包.py生成.exe的方法和報錯總結
今天小編就為大家分享一篇關于Pyinstaller打包.py生成.exe的方法和報錯總結,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04
python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式
今天小編就為大家分享一篇python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
pycharm 2021.3最新激活碼有效期至2100年(親測可用)
這篇文章主要介紹了pycharm 2021.3最新激活碼有效期至2100年(親測可用)2021-02-02
pandas.dataframe中根據(jù)條件獲取元素所在的位置方法(索引)
今天小編就為大家分享一篇pandas.dataframe中根據(jù)條件獲取元素所在的位置方法(索引),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python使用mysqldb連接數(shù)據(jù)庫操作方法示例詳解
這篇文章主要介紹了python mysqldb使用方法,大家參考使用2013-12-12

