为什么我不能对页面中的多个元素使用 WebDriver Wait for Selenium Webdriver?

莱昂纳多·卡托

我正在尝试使用Selenium提取一些数据,如下所示:

elements = len(driver.find_elements_by_class_name('busca-left-container'))

for n in range(elements):

year = wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "ano")))
year = int(year[n].text)
year_list.append(year)

我发现的问题是wait.until函数只等待页面的第一个元素为类名('ano'),所以我无法遍历这个WebElement(每页有10个'ano'元素)

我发现的一种解决方案是使用以下代码:

year = driver.find_elements_by_class_name('ano')
year = int(year[n].text)
year_list.append(year)

但它没有给我“等待”直到元素可见的功能。

有什么解决办法吗?(使用等待功能并在加载所有元素后检索列表)。谢谢!

昆杜克

使用visibility_of_all_elements_located()这将给出元素列表。

elements = len(driver.find_elements_by_class_name('busca-left-container'))

for n in range(elements):

    year = wait.until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "ano")))
    year = int(year[n].text)
    year_list.append(year)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章