欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python爬蟲之Selenium設(shè)置元素等待的方法

 更新時間:2020年12月04日 12:03:31   作者:程序猿雜記  
這篇文章主要介紹了Python爬蟲之Selenium設(shè)置元素等待的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、顯式等待

WebDriverWait類是由WebDirver 提供的等待方法。在設(shè)置時間內(nèi),默認每隔一段時間檢測一次當(dāng)前頁面元素是否存在,如果超過設(shè)置時間檢測不到則拋出異常(TimeoutException)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

element = WebDriverWait(driver, 5, 0.5).until(
      EC.presence_of_element_located((By.ID, "kw"))
      )
element.send_keys('selenium')
time.sleep(5)

driver.quit()

語法:

  • WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None).until(method, message=‘')

參數(shù)說明如下:

  • driver:瀏覽器驅(qū)動
  • timeout:最長超時時間,默認以秒為單位
  • poll_frequency:檢測的間隔時間,默認為0.5s
  • ignored_exceptions:超時后的異常信息,默認情況下拋NoSuchElementException異常
  • until(method, message=‘'):調(diào)用該方法提供的驅(qū)動程序作為一個參數(shù),直到返回值為True
  • until_not(method, message=‘'):調(diào)用該方法提供的驅(qū)動程序作為一個參數(shù),直到返回值為False
  • presence_of_element_located():判斷元素是否存在。

二、隱式等待

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time

driver = webdriver.Chrome()

# 設(shè)置隱式等待為5秒
driver.implicitly_wait(5)
driver.get("http://www.baidu.com")

try:
 print(time.strftime('%Y-%m-%d %H:%M:%S'))
 driver.find_element_by_id("123456").send_keys('selenium') #不存在的id,看輸出報錯和時間
 # driver.find_element_by_id("kw").send_keys('selenium') # 存在的id
except NoSuchElementException as e:
 print(e)
finally:
 print(time.strftime('%Y-%m-%d %H:%M:%S'))
 driver.quit()

implicitly_wait() 默認0,參數(shù)的單位為秒,上邊設(shè)置的等待時間為5秒,這個時間不像time.sleep(5)那樣直接睡5秒;當(dāng)執(zhí)行流程到某個元素定位時,如果元素可以定位,則繼續(xù)執(zhí)行;如果元素定位不到,則它將以循環(huán)的方式不斷地判斷元素是否被定位到。比如說在1秒的時候定位到了,那么直接向下運行如果超出設(shè)置時長,則拋出異常。

Selenium文集傳送門:

標題 簡介
Python爬蟲 - Selenium(1)安裝和簡單使用 詳細介紹Selenium的依賴環(huán)境在Windows和Centos7上的安裝及簡單使用
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 詳細介紹定位元素的8種方式并配合點擊和輸入、提交、獲取斷言信息等方法的使用
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 詳細介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進、刷新瀏覽器等方法的使用
Python爬蟲 - Selenium(4)配置啟動項參數(shù) 詳細介紹Selenium啟動項參數(shù)的配置,其中包括無界面模式、瀏覽器窗口大小設(shè)置、瀏覽器User-Agent (請求頭)等等
Python爬蟲 - Selenium(5)鼠標事件 詳細介紹鼠標右擊、雙擊、拖動、鼠標懸停等方法的使用
Python爬蟲 - Selenium(6)鍵盤事件 詳細介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵
Python爬蟲 - Selenium(7)多窗口切換 詳細介紹Selenium是如何實現(xiàn)在不同的窗口之間自由切換
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 詳細介紹如何從當(dāng)前定位的主體切換為frame/iframe表單的內(nèi)嵌頁面中
Python爬蟲 - Selenium(9)警告框(彈窗)處理 詳細介紹如何定位并處理多類警告彈窗
Python爬蟲 - Selenium(10)下拉框處理 詳細介紹如何靈活的定位并處理下拉框
Python爬蟲 - Selenium(11)文件上傳 詳細介紹如何優(yōu)雅的通過send_keys()指定文件進行上傳
Python爬蟲 - Selenium(12)獲取登錄Cookies,并添加Cookies自動登錄 詳細介紹如何獲取Cookies和使用Cookies進行自動登錄
Python爬蟲 - Selenium(13)設(shè)置元素等待 詳細介紹如何優(yōu)雅的設(shè)置元素等待時間,防止程序運行過快而導(dǎo)致元素定位失敗
Python爬蟲 - Selenium(14)窗口截圖 詳細介紹如何使用窗口截圖
Python爬蟲 - Selenium(15)關(guān)閉瀏覽器 詳細介紹兩種關(guān)閉窗口的區(qū)別

到此這篇關(guān)于Python爬蟲之Selenium設(shè)置元素等待的方法的文章就介紹到這了,更多相關(guān)Selenium 元素等待內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python文件處理、os模塊、glob模塊

    Python文件處理、os模塊、glob模塊

    這篇文章介紹了Python處理文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Python數(shù)組并集交集補集代碼實例

    Python數(shù)組并集交集補集代碼實例

    這篇文章主要介紹了Python數(shù)組并集交集補集代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • python爬蟲用mongodb的理由

    python爬蟲用mongodb的理由

    在本篇內(nèi)容中小編給大家整理的是關(guān)于python爬蟲用mongodb的理由,需要的朋友們可以跟著學(xué)習(xí)參考下。
    2020-07-07
  • Python?Pandas刪除替換并提取其中的缺失值NaN(dropna,fillna,isnull)

    Python?Pandas刪除替換并提取其中的缺失值NaN(dropna,fillna,isnull)

    這篇文章主要給大家介紹了關(guān)于Python?Pandas刪除替換并提取其中的缺失值NaN(dropna,fillna,isnull)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Pandas具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • 淺析Python數(shù)據(jù)處理

    淺析Python數(shù)據(jù)處理

    本篇文章給大家分享了關(guān)于Python數(shù)據(jù)處理的相關(guān)內(nèi)容以及要點解釋,對此知識點有興趣的朋友可以參考學(xué)習(xí)下。
    2018-05-05
  • Python手繪可視化工具cutecharts使用實例

    Python手繪可視化工具cutecharts使用實例

    這篇文章主要介紹了Python手繪可視化工具cutecharts使用實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • python連接clickhouse數(shù)據(jù)庫的兩種方式小結(jié)

    python連接clickhouse數(shù)據(jù)庫的兩種方式小結(jié)

    這篇文章主要介紹了python連接clickhouse數(shù)據(jù)庫的兩種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • pycharm如何實現(xiàn)跨目錄調(diào)用文件

    pycharm如何實現(xiàn)跨目錄調(diào)用文件

    這篇文章主要介紹了pycharm如何實現(xiàn)跨目錄調(diào)用文件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Python使用type動態(tài)創(chuàng)建類操作示例

    Python使用type動態(tài)創(chuàng)建類操作示例

    這篇文章主要介紹了Python使用type動態(tài)創(chuàng)建類操作,結(jié)合實例形式詳細分析了Python使用type動態(tài)創(chuàng)建類的具體原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • Python中字典常用操作的示例詳解

    Python中字典常用操作的示例詳解

    字典是Python必用且常用的數(shù)據(jù)結(jié)構(gòu),本文主要為大家梳理了一下常用的字典操作:初始化、合并字典、字典轉(zhuǎn)Pandas等,需要的可以參考一下
    2022-05-05

最新評論