【问题标题】:Selenium Scroll Element in list (Java)列表中的硒滚动元素(Java)
【发布时间】:2017-12-14 20:27:31
【问题描述】:

我正在尝试在列表中向下滚动到某些元素。但这对我不起作用。

尝试以下代码。

JavascriptExecutor je = (JavascriptExecutor) driver;
je.executeScript("arguments[0].scrollIntoView(true);",elementToScroll);

这是图片,在电子邮件模板下方的组织设置中,有一些可用的元素。所以我想点我。但在它们没有出现在屏幕上之前,我无法点击。 有人可以帮我解决这个问题吗?

【问题讨论】:

  • 请分享 HTML
  • 你能找到它但你不能点击它吗?
  • @Jay Vyas,在某些情况下页面依赖于需要模拟的滚动速度:arguments[0].scrollIntoView({behavior: "smooth", block: "end"});
  • @Jay Vyas,可能是您没有找到正确的元素。如果没有可重复的示例,就无法说明为什么它不起作用。
  • @Jay Vyas,试着睡一会儿,看看是不是动画造成的。

标签: java selenium selenium-webdriver


【解决方案1】:

我有一种方法可以查看屏幕中间的任何元素。方法是

public void viewElementToCenter(WebElement ele){

    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, ele);
    //((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", ele);
    try {
        Thread.sleep(500);
    } catch (InterruptedException e) {
    }
}

像下面这样调用这个方法

viewElementToCenter(elementToScroll);

然后点击那个元素为

elementToScroll.click();

【讨论】:

  • 不工作的家伙
  • @JayVyas 作为一种解决方法,请尝试查看位于屏幕下部的居中元素。执行此部分,直到您的元素位于中心。
【解决方案2】:

也许你可以试试这个并获得你的运气:

JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("window.scrollBy(0,500)", "");

(0,500) :增加像素大小以沿 x 轴(水平)向下滚动。

【讨论】:

    【解决方案3】:

    你能试试下面的代码吗..

     ((JavascriptExecutor)driver).executeScript("document.evaluate(xpathofelement_toclick, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0).scrollIntoViewIfNeeded();");                                                   
    

    【讨论】:

      猜你喜欢
      • 2019-10-08
      • 2013-12-08
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      相关资源
      最近更新 更多