为什么我不能在一个页面中的多个元素中使用WebDriver等待Selenium WebDriver?

2024-05-23 22:34:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用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)

但是它没有给我在元素可见之前“等待”的特性

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


Tags: textname元素bydriverelementsfindyear
1条回答
网友
1楼 · 发布于 2024-05-23 22:34:52

使用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)

相关问题 更多 >