自動化測試——Selenium+Python判斷元素是否可見,及元素未出現時設置超時時限


自動化測試中,有時可以根據某元素是否出現(即可見)來進行斷言,判斷元素是否可見的方法如下:

from selenium.webdriver.support import expected_conditions as EC

def is_element_visible(self, element):
    driver = self.driver
    try:
        the_element = EC.visibility_of_element_located(element)
        assert the_element(driver)
        flag = True
    except:
        flag = False
    return flag

需要進行判斷時,調用此方法即可。

有時在進行操作后,某元素需要一段時間后才能顯示,此時可以設置一時間限制,在此時間間隔內不斷判斷該元素是否可見,若找到則繼續后續操作,否則提示元素未找到。代碼如下:

from selenium.webdriver.common.by import By
from datetime import datetime

the_element = is_element_visible(self, (By.ID, "kw"))
if the_element:
    print "element appears."
else:
    time_start = datetime.now()
    while True:
time_now = datetime.now()
time_difference = (time_now - time_start).seconds
if time_difference < 60: recheck_the_element
= is_element_visible(self, (By.ID, "kw"))
if recheck_the_element: print "element appears." break else: continue
else:
print "element not appears."

 


免責聲明!

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



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