【问题标题】:Scroll Element into View (not under navbar) with Selenium使用 Selenium 将元素滚动到视图中(不在导航栏下)
【发布时间】:2018-06-22 14:22:51
【问题描述】:

除非元素可见,否则 Selenium click 似乎不起作用。所以我想在点击之前查看元素。 Selenium 中有一个焦点方法,但它似乎没有滚动视图。 我尝试使用 Amith solution 使用 Selenium 将元素滚动到视图中,但有时元素仍保留在导航栏下。 有没有办法滚动直到元素变得可观察并且硒可以点击它?

【问题讨论】:

标签: c# selenium scroll navbar


【解决方案1】:

您可以尝试使用 JavaScript,但不确定它是否有效,但您可以尝试一下:

private void ScrollToElement(IWebElement element)
{
    IJavaScriptExecutor js = (IJavaScriptExecutor) driver; 
    js.executeScript("argumenents[0].scrollIntoView(true);", element)
}

我从很久以前遇到的similar issue 将它改编为 C#。当时我在使用 Java,这个解决方案对我有用。希望它可以帮助您或至少为您指明正确的方向。

【讨论】:

    【解决方案2】:

    我找到了使用 JavaScript 的解决方案

    public static void Scroll(this IWebElement elem)
    {
         IJavaScriptExecutor js = (IJavaScriptExecutor)driver;     
         js.ExecuteScript("window.scroll(arguments[0], arguments[1]);", elem.Location.X, elem.Location.Y - heightOfNavbar);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      相关资源
      最近更新 更多