我正在使用 Selenium 從網站中讀取 X 個元素。該網站最初打開時包含 21 個元素 一個“查看更多”按鈕,單擊該按鈕后會加載額外的一批元素,然后每次滾動到頁面底部時都會加載另一批元素。保持向下滾動直到加載 100 個元素的最佳方法是什么?
driver.findElement(By.cssSelector("[class='btn btn-primary btn-alternate search-more']")).click();
Thread.sleep(2000);
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, document.body.scrollHeight)");
List<WebElement> elements = driver.findElements(By.className("project-tile"));
int elementsCount = elements.size();
uj5u.com熱心網友回復:
我不能給你經過測驗的答案,但我會建議以下內容:
計算呈現元素的數量并滾動直到此計數器小于目標,如下所示:
driver.findElement(By.cssSelector("[class='btn btn-primary btn-alternate search-more']")).click();
Thread.sleep(2000);
int goal = 100;
int elementsCount = 0;
List<WebElement> elements = driver.findElements(By.className("project-tile"));
elementsCount = elementsCount elements.size();
while(elementsCount<goal){
((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");
elements = driver.findElements(By.className("project-tile"));
elementsCount = elementsCount elements.size();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/526069.html
上一篇:如何安裝lxml?
