0
我使用webdriver將類名爲topredo
的Web元素截獲到ArrayList中。數組列表大小小於實數
看到網頁元素在屏幕滾動時不斷增加,我使用while
循環做滾動和抓取。
的Java代碼:
outer: while (isContinue) {
List<WebElement> all = driver.findElements(By.className("torpedo"));
/* do screen scrolling*/
}
它運行順利,直到最後的循環。
在最後secode循環,我得到的all.size()
結果208,但在最後的循環中,all.size()
結果是172,而網絡元素的瀏覽器的實際總規模是243,我用eclipse調試即可看到該列表堆棧內容。
屏幕截圖所示:
- all.size()
- 上索引171
所以我的問題是爲什麼all.size()
小於the real size
,以及爲什麼索引大於171的內容是不可見的?
非常感謝!
提供更多信息:1.您準確的測試步驟是什麼? 2.什麼對你有用?顯示代碼。 3.你卡在哪裏?提供錯誤堆棧跟蹤。 4.提供相關的HTML DOM。 – DebanjanB
你一遍又一遍地重置'all' ...爲什麼不直接滾動,直到你知道你已經完成滾動,然後進行一次調用來設置'all = driver.findElements(By.className(「torpedo」)) );'在循環之後?這可能會解決您在設置元素之前最後一次發生滾動問題。很難肯定地說,因爲我沒有看到你的'isContinue'正在做什麼或者你的循環邏輯的其他部分。 :) – mrfreester