如果页面向下/向上滚动且元素在当前视图之外,则单击元素将失败

时间:2017-05-08 06:42:56

标签: c# selenium webdriver

我想点击特定元素,但此元素未显示在当前视图中,单击该元素失败。

在尝试使用以下代码

之前,我尝试将焦点设置在所需元素上
Actions actions = new Actions(driver);
actions.MoveToElement(element);
actions.Perform();

但它失败了。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

两件事之一。这是偶然的弹出窗口吗?如果是这样,您需要切换到iframe。

    public static void switchToIframe(string name)
    {
        _webDriver.SwitchTo().Frame(name);
    }

如果该元素不在页面上且是滚动问题,您可以尝试:

您可以传入值100以向下移动100px。

        public static void ScrollDownByAmount(string value)
    {
        var windowScroll = string.Format("window.scrollBy(0,{0})", value);
        IJavaScriptExecutor javascript = (IJavaScriptExecutor)_webDriver;
        javascript.ExecuteScript(windowScroll , "");
        Thread.Sleep(500);
    }