![](/img/trans.png)
[英]Print all the data obatained from FIND_ELEMENTS_BY_ID() - Python
[英]Selenium find_elements_by_id() doesn't return all elements
我試圖在帶有 Selenium (python) 的網頁上找到某種類型的所有元素。 為簡單起見,假設他們的 id 是elem_id
。 我正在使用以下代碼片段來執行此操作:
all_elements = driver.find_elements_by_id("elem_id")
print(str(len(all_elements)))
我知道有問題的網頁上有大約 3000 個這種元素,但是每當我打印all_elements
的長度時,它總是打印1000
。
它肯定找到了正確的元素(我檢查過),但不知何故它沒有一次找到所有元素。 它還隨機選擇 1000 個元素,這意味着它既不會專門選擇前 1000 個元素,也不會專門選擇最后 1000 個元素。 我試圖找出 Selenium 可以找到多少個元素是否有上限,但似乎沒有最大數量為 1000。
有誰知道為什么 Selenium 一次只能找到 1000 個元素? 我究竟做錯了什么? 非常感謝!
從根本上說,您看到的是正確的行為。 盡管您知道網頁中有近 3000 個這種特定類型的元素,但是:
id
為elem_id
所有元素在視口中可能不可見您可以在Selenium 如何點擊屏幕上 50% 和 50% 不在屏幕上的元素中找到相關的詳細討論?
<iframe>
/ <frame>
標簽內,而WebDriver實例可能無法從頂級視圖中看到這些元素。你可以在Ways to deal with #document under iframe 中找到相關的詳細討論
您可以在如何單擊 Google 趨勢中的加載更多按鈕並通過 Selenium 和 Python 打印所有標題中找到相關的詳細討論
因此,在 ~3000 個奇數元素中,您只能看到 ~1000 個元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.