webdriver显式和隐式等待
Posted shuzf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webdriver显式和隐式等待相关的知识,希望对你有一定的参考价值。
implicitly_wait() 方法是隐式等待,用来设置超时,一般把implicitly_wait()方法调用在加载测试地址后,等待所测试的应用程序加载
WebDriverWait() 是显式等待,等待的时间是固定的
from selenium.webdriver.support import expected_conditions from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium import webdriver driver=webdriver.Chrome() driver.maximize_window() driver.get(‘https://baidu.com‘) driver.implicitly_wait(30) #元素是否出现可点 ,参数是locator xinwei=WebDriverWait(driver,5).until(expected_conditions.element_to_be_clickable((By.CSS_SELECTOR,‘.mnav‘))) xinwei.click() #验证相应位置元素的文本信息,返回值是布尔 俩参数locator text #以验证登录的错误信息为例 driver.find_element_by_xpath(".//*[@id=‘u1‘]/a[7]").click() driver.find_element_by_id(‘TANGRAM__PSP_10__userName‘).send_keys(‘123‘) driver.find_element_by_id(‘TANGRAM__PSP_10__submit‘).click() bo=WebDriverWait(driver,5).until(expected_conditions.text_to_be_present_in_element((By.CSS_SELECTOR,‘#TANGRAM__PSP_10__error‘),U‘请您输入密码‘)) print(bo)# 打印结果:True #元素是否可见,可见后操作 参数是locator sou=WebDriverWait(driver,5).until(expected_conditions.visibility_of_element_located((By.CSS_SELECTOR,‘#kw‘))) sou.send_keys(‘java‘) driver.quit()
以上是关于webdriver显式和隐式等待的主要内容,如果未能解决你的问题,请参考以下文章
基于Selenium2+Java的UI自动化- 显式等待和隐式等待