我正在尝试查找页面中显示的页码大小。
d.get("http://www.moneycontrol.com/stocks/advice/display_more.php");
java.util.List<WebElement> list = d.findElements(By.xpath("//div[@class='gray2_11']/a"));
int u=list.size();
System.out.println(u);
答案 0 :(得分:1)
您必须将元素恢复为可见模式。
然后调用list元素。我在这里添加完整的代码。
driver.get("http://www.moneycontrol.com/stocks/advice/display_more.php");
String scrollElementIntoMiddle = "var viewPortHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);"
+ "var elementTop = arguments[0].getBoundingClientRect().top;"
+ "window.scrollBy(0, elementTop-(viewPortHeight/2));";
((JavascriptExecutor) driver).executeScript(scrollElementIntoMiddle, driver.findElement(By.className("nextBtn")));
//((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", ele);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
}
java.util.List<WebElement> list = driver.findElements(By.xpath("//div[@class='gray2_11']/a"));
int u=list.size();
System.out.println(u);
答案 1 :(得分:1)
仅打印页面中page numbers present
的大小,您可以使用以下代码块:
d.get("http://www.moneycontrol.com/stocks/advice/display_more.php");
System.out.println(d.findElements(By.xpath("//div[@class='gray2_11']//a")).size());
控制台输出:
11
您仍然获得0
元素的原因是因为您尚未将浏览器升级到最新的 Firefox Quantum
版本和最新 {{1} 二进制,请尝试添加 GeckoDriver
,如下所示:
WebDriverWait