关于显示等待WebDriverWait是什么,可以看selenium-wait源码解析
话不多说,先上实现代码:
第一种实现方式(官方提供):
from selenium.webdriver.support.wait import WebDriverWait
element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id("someId"))
第二种实现方式(民间高手提供):
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'kw')))
一.第一种实现方式分析:
首先介绍下需要用到的lambda表达式:
f= lambda x:x+1
print(f(1))
输出:
2
可理解为:
def f(x):
return x+1
了解了这个之后,我们来看下until是如何执行的:
def until(self, method, message=''):
"""Calls the method provided with the driver as an argument until th