如何在网站

时间:2017-12-16 10:56:35

标签: java selenium automation

我正在尝试查找页面中显示的页码大小。

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” 有什么建议 ?? ImageAttached

2 个答案:

答案 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