您好,登錄后才能下訂單哦!
小編給大家分享一下如何解決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)加載出來,可以將頁(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),需要的元素能加載出來就行 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í)的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。