一、隐式等待隐式等待,
且方法如下:
driver.implicitly_wait(20)
隐式等待的解释:设置一个超时时间,在这个时间内会去不断寻找元素,超时找不到时就会报错;
二、显示等待显示等待,
方法如下:
WebDriverWait(driver,20,2).until(lambda x:x.find_element_by_xpath("//*[@resource-id='com.tcl.live:id/tv_download']"))
显示等待的解释:
设置一个超时时间和一个元素查找条件,在这个时间内不断寻找这个元素,超时找不到时就会报错;
且显示等待可以拆开来使用 达到查找元素并执行某些操作的目的:
waittime = WebDriverWait(driver, 20, 2)
banner_choice = waittime.until(lambda x: x.find_element_by_id("com.tcl.live:id/banner_img"))
banner_choice.click()
三、显示等待和隐式等待的选择:
其实隐式等待和显示等待在本质上是一致的,只是显示等待多了一个指定元素条件超时时间,在使用场景上,可以使用隐式等待来做一个全局的控制,例如设置全局隐式等待6秒;如果某个控件比较特殊,需要更长的时间加载,比如十几秒或者更长,就可以使用显示等待对其进行单独处理;