【问题标题】:Java selenium. disable auto scrolling of the pageJava 硒。禁用页面的自动滚动
【发布时间】:2013-01-24 18:20:34
【问题描述】:

我正在使用 Java 的 selenium 进行自动化测试,浏览器是 Firefox。

这是我的示例代码:

WebElement elem = driver.findElement(By.xpath(".//*[@id='main']/div/div[3]/div[1]/div/div[3]/div/div/div/a"));
Actions action = new Actions(driver);
Actions action2 = action.moveToElement(elem);
action2.perform();

问题是“moveToElement”动作触发了页面的自动滚动事件。 我希望页面保持原样而不滚动。 有人可能知道如何禁用此自动滚动? 谢谢。

【问题讨论】:

    标签: java selenium-webdriver scroll


    【解决方案1】:

    你不能。当对元素进行操作时,WebDriver 会将元素滚动到视图中。

    【讨论】:

      【解决方案2】:

      您不能禁用自动滚动。


      一些可能的解决方法:

      1. 如果这对您的事业有帮助,您可以尝试 fire a syntetic mouseover event 而不是 WebElement

      2. moveToElement() 之后,您可以尝试使用window.scrollTo() 或例如Page Up 键重新滚动到您需要的位置。显然,这会破坏元素上的 mouseover,但也许这正是您所需要的。

      3. 您可以通过Robot 类将真正的鼠标光标定位在元素上。这可能有点棘手,您可能需要使用浏览器进入全屏模式(或使用this),然后手动处理滚动偏移(如果有的话)。


      一切都取决于你的意图、你真正需要对元素做什么以及为什么。

      【讨论】:

        猜你喜欢
        • 2012-01-16
        • 1970-01-01
        • 2013-09-08
        • 1970-01-01
        • 2020-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多