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

from selenium import webdriverimport re driver = webdriver.Firefox()#設定頁面加載timeout時長,需要的元素能加載出來就行driver.set_page_load_timeout(20)driver.set_script_timeout(20)#try去gettry: driver.get("http://tieba.baidu.com/p/5659969529?red_tag=w0852861182")except: print("加載頁面太慢,停止加載,繼續下一步操作") 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("當前貼吧貼子總頁數為:%s"%all_page_num)以上這篇解決Python selenium get頁面很慢時的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答