python selenium中等待元素出現及等待元素消失操作


在自動化測試中,很多時候都會有等待頁面某個元素出現后能進行下一步操作,或者列表中顯示加載,直到加載完成后才進行下一步操作,但時間都不確定,如下圖所示

幸運的是,在selenium 2后有一個模塊expected_conditions,里面有很多函數可以完成這個工作,相關博客可見

http://www.cnblogs.com/nbkhic/p/4885041.html

但在selenium 1中或自己僅僅想寫個簡單用法該怎么處理那?解決如下:

from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
import selenium.webdriver.support.expected_conditions as EC
import selenium.webdriver.support.ui as ui



# 一直等待某元素可見,默認超時10秒
def is_visible(locator, timeout=10):
    try:
        ui.WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.XPATH, locator)))
        return True
    except TimeoutException:
        return False

# 一直等待某個元素消失,默認超時10秒
def is_not_visible(locator, timeout=10):
    try:
        ui.WebDriverWait(driver, timeout).until_not(EC.visibility_of_element_located((By.XPATH, locator)))
        return True
    except TimeoutException:
        return False

調用方法很簡單,只需要在用時,調用如下:

is_not_visible('//input[@input="search-error"]')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM