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自动化- 显式等待和隐式等待

无法让webdriver等待页面加载

selenium-python显式等待和隐式等待的使用和区别

selenium 设置元素等待

selenium webdriver 浏览器操作,编码问题,鼠标操作,键盘按键操作,显示和隐式等待