Python selenium 三種等待元素方式
1. 強制等待
sleep
這種叫強制等待,不管你瀏覽器是否載入完了,程式都得等待,時間讀完繼續執行下面的程式碼,,太死板,嚴重影響程式執行速度。
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get('https://huilansame.github.io')
sleep(3)
print driver.current_url
driver.quit()
2. 隱性等待
implicitly_wait()
隱形等待是設定了一個最長等待時間,如果在規定時間內網頁載入完成,則執行下一步,否則一直等到時間截止,然後執行下一步。那就等於程式會一直等待整個頁面載入完成,也就是一般情況下你看到瀏覽器標籤欄那個小圈不再轉,才會執行下一步,但有時候頁面想要的元素早就在載入完成了
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(30) # 隱性等待,最長等30秒
driver.get('https://huilansame.github.io')
print driver.current_url
driver.quit()
3.顯性等待
WebDriverWait()
配合該類的until()和until_not()方法,就能夠根據判斷條件而進行靈活地等待了。它主要的意思就是:程式每隔xx秒看一眼,如果條件成立了,則執行下一步,否則繼續等待,直到超過設定的最長時間,然後丟擲TimeoutException。
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Firefox()
driver.implicitly_wait(10) # 隱性等待和顯性等待可以同時用,但要注意:等待的最長時間取兩者之中的大者
driver.get('https://huilansame.github.io')
locator = (By.LINK_TEXT, 'CSDN')
try:
WebDriverWait(driver, 20, 0.5).until(EC.presence_of_element_located(locator))
print driver.find_element_by_link_text('CSDN').get_attribute('href')
finally:
driver.close()
-
until()和until_not()方法
until() 判斷,直到返回值為true,執行下一步
nutil_not 判斷,直到返回值為false 執行下一步
相關文章
- python selenium的三種等待方式解讀Python
- Selenium裡的三種等待方式
- 一定要會用selenium的等待,3種等待方式解讀
- Python Selenium等待(waits)頁面載入完成的三種方法PythonAI
- Python丨如果是動態網站可以採用selenium的三種等待方式進行解讀Python網站
- selenium常用元素定位方式
- Python Selenium自動化測試框架 元素等待機制Python框架
- 三種隱藏 HTML 元素的方式HTML
- 『心善淵』Selenium3.0基礎 — 23、Selenium的元素等待
- [python][selenium][web自動化]webdriver的元素定位方式PythonWeb
- Python_Selenium的等待操作Python
- Python|讀、寫Excel檔案(三種模組三種方式)PythonExcel
- Python Selenium如何定位元素Python
- python 三種方式實現截圖Python
- 隱藏元素兩種方式
- Python種匯入模組的三種方式總結Python
- python等待方式的介紹Python
- Web自動化三種等待方式,一篇文章教會你Web
- Python 中刪除列表元素的三種方法Python
- python_selenium元素定位_xpath(2)Python
- Selenium的等待操作
- Python 建立單例模式的三種方式Python單例模式
- UIImageView三種方式UIView
- 請問:python+selenium如何定位這種只有動態id不同的元素Python
- 教你三種jQuery框架實現元素顯示及隱藏動畫方式jQuery框架動畫
- selenium(7)強制等待,顯式等待和隱式等待。
- Python頁面載入的等待方式Python
- 三種繼承方式繼承
- 爬蟲案例2-爬取影片的三種方式之一:selenium篇(2)爬蟲
- selenium 的顯示等待只看元素存不存在不看元素可不可互動的嗎?
- 記住Python變數型別的三種方式Python變數型別
- node 除錯三種方式除錯
- HTTP三種快取方式HTTP快取
- Mybatis批量更新三種方式MyBatis
- JavaScript的三種引入方式JavaScript
- mysql 啟停三種方式MySql
- flowable 三種方式部署流程
- Hive metastore三種配置方式HiveAST