WebDriverWait类的介绍

1、element_to_be_clickable(locator)是等待页面元素可见的时候操作,会设置一定范围的时间,如果在时间范围内,元素可见,就执行操作,元素不可见,就会引发TimeoutException的异常。如下是element_to_be_clickable

#coding:utf-8
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
driver=webdriver.Firefox()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
so=WebDriverWait(driver,10).until(expected_conditions.element_to_be_clickable((By.ID,'kwkw')))
so.send_keys('appium')
driver.quit()

2.、text_to_be_present_in_element(locator,text)是指定页面元素的文本位置,一般用于验证一个文本信息或者错误的信息,我们任然以百度登录为案例,用户名和密码为空,点击登录按钮,验证在指定的时间范围内会不会出现"请您填写手机/邮箱/用户名"的错误信息,见实现的代码:

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
import  time as t
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
t.sleep(3)
driver.find_element_by_id('u1').find_element_by_class_name('lb').click()
driver.find_element_by_id('TANGRAM__PSP_8__submit').click()
WebDriverWait(driver,10).until(expected_conditions.text_to_be_present_in_element((By.CSS_SELECTOR,"#TANGRAM__PSP_8__error"),u'请您填写手机/邮箱/用户名'))


3.visibility_of_element_located(locator)是元素可见后再执行其他的操作,如百度首页的“关于百度”,我们想点击它,先验证是否可见,如果可见,再点击,见实现的代码:

element=WebDriverWait(driver,10).until(expected_conditions.visibility_of_element_located((By.XPATH,".//*[@id='lh']/a[3]")))


4.implicitly_wait()方法是隐式等待,用来设置超时,一般把implicitly_wait()方法调用在加载测试地址后,等待所测试的  应用程序加载,这样就会有一个缓充的过程,


5.WebDriverWait()是显式等待,也就是说会明确等待的时间。我们还是已百度搜索为实例,来演示显式等待在自动化中的实际应用

locator=WebDriverWait(driver,10).until(expected_conditions.visibility_of_element_located((By.ID,'kw')))


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值