簡體   English   中英

為什么我不能對頁面中的多個元素使用 WebDriver Wait for Selenium Webdriver?

[英]Why can't I use WebDriver Wait for Selenium Webdriver for multiple elements in a page?

我正在嘗試使用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 function 只等待頁面的第一個元素為 class 名稱('ano'),所以我不能遍歷這個 WebElement(每頁有 10 個'ano'元素)

我發現的一種解決方案是使用以下代碼:

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

但它並沒有給我“等待”直到元素可見的特性。

有什么解決辦法嗎? (使用 Wait function 並在加載所有元素后檢索列表)。 謝謝!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM