设置元素等待.py

from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECdriver = webdriver.Chrome()driver.get("http://www.baidu.com")element = WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located((By.ID,"kw")))element.send_keys("selenium")#显示等待:WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)driver  #浏览器驱动timeout #最长超时时间,默认以秒为单位poll_frequency  #检测的间隔(步长)时间,默认为0.5Signored_exceptions  #超时后的异常信息,默认情况下抛NoSuchElementException异常。WebDriverWait() #一般由until或until_not()方法配合使用until(method,message=‘‘)# 调用该方法提供的驱动程序作为一个参数,直到返回值为True。until_not(method,message = ‘‘)# 调用该方法提供的驱动程序作为一个参数,直到返回值为False。#expected_conditions类提供的预期条件判断的方法title_is                                #判断当前页面的标题是否等于预期title_contains                          #判断当前页面的标题是否包含预期字符串presence_of_element_located             #判断元素是否被加在DOM树里,并不代表该元素一定可见visibility_of_element_located           #判断元素是否可见(可见代表元素非隐藏,并且元素的宽和高都不等于0)visibility_of                           # 与上一个方法作用相同,只是上一个方法参数为定位,该方法接收的参数为定位后的元素presence_of_all_elements_located        #判断是否至少有一个元素存在于DOM树中。例如,在个页面中有n个元素的class为"wp",那么只要有一个存在就返回truetext_to_be_present_in_clement           #判断某个元素中的text是否包含了预期的字符串text_to_be_present_in_element_value     #判断某个元素的value属性是否包含了预期的字符串frame_to_be_available_and_switch_to_it  #判断该表单是否可以切换进去,如果可以,返回True并且switch进去,否则返回falseinvisibility_of_element_located         #判断某个元素是否不存在于DOM树或不可见element_to_be_clickable                 #判断元素是否可见并且是可以点击的staleness_of                            #等到一个元素从DOM树中移除element_to_be_selecte                   #判断某个元素是被选中,一般用在下拉列表element_sclection_state_to_be           #判断某个元素的选中状态是否符合预期element_located_selection_state_to_be   #与上一个方法作用相同,只是-上一个方法参数为定位后的元素,该方法要收的参数为定位alert_is_presen                         #判断页面上是否存在alert#隐式等待from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom time import ctimedriver = webdriver.Chrome()driver.implicitly_wait(10)driver.get("http://www.baidu.com")try:print(ctime())    driver.find_element_by_id("kw22").send_keys("selenium")except NoSuchElementException as e:print(e)finally:print(ctime())    driver.quit()

相关推荐