1

我正在尝试等待驱动程序等待,直到找到同一类的所有元素。

例如:

如果类是foo

我尝试:

WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, 'foo')))

我认为这只等待该类中第一个出现的元素。任何人都知道我怎么能等到该类的所有元素都找到。

4

1 回答 1

2

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
于 2020-07-31T19:24:56.623 回答