微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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()

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐