为什么我的卷轴没有发生?

时间:2018-02-13 15:22:38

标签: javascript selenium testing

我有一个适用于大多数情况的滚动方法,但我有一个不滚动的实例。

这是方法:

public static void scrollPanelUp(WebElement element, WebDriver driver) {

    debug.print(thisClass + " scrolling up...");

    try {
        // Create instance of Javascript executor
        JavascriptExecutor je = (JavascriptExecutor) driver;
        // now execute query which actually will scroll until that element is appeared
        // on page.

        je.executeScript("arguments[0].scrollIntoView(true);", element);

        debug.print(thisClass + " scrolled up!");
    } catch (Exception e) {
        System.err.println(thisClass + " error in scrollPanelUp: " + e.getMessage());
        e.printStackTrace();
    }
}

为什么在这种情况下不滚动的任何想法?

1 个答案:

答案 0 :(得分:0)

根据可用的代码,我将首先查看您传递的元素。如果它没有滚动到元素,我会建议它不在页面上。但除此之外,如果没有HTML,它会尝试滚动,或者调用它的代码。诊断问题非常困难。

然而,这是我过去使用过的代码片段对我有用:

((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", element);