我正在尝试等待驱动程序等待,直到找到同一类的所有元素。
例如:
如果类是foo
我尝试:
WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, 'foo')))
我认为这只等待该类中第一个出现的元素。任何人都知道我怎么能等到该类的所有元素都找到。
我正在尝试等待驱动程序等待,直到找到同一类的所有元素。
例如:
如果类是foo
我尝试:
WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, 'foo')))
我认为这只等待该类中第一个出现的元素。任何人都知道我怎么能等到该类的所有元素都找到。
WebDriverWait与 expected_conditions 结合,presence_of_element_located()
将等待第一个匹配的WebElement。
要等到同一个类的所有元素(例如foo 类)都存在,而不是presence_of_element_located()
您需要为 present_of_all_elements_located() 诱导WebDriverWait ,您的有效代码块将是:
WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.CLASS_NAME, 'foo')))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC