Chrome浏览器61v。单击可见区域外的元素时出现问题

时间:2017-09-11 11:32:54

标签: c# google-chrome selenium selenium-webdriver selenium-chromedriver

当我将Chrome浏览器更新为61v时,点击可见区域外的不可见元素会出现问题。

早些时候它起作用了

  

尝试点击可见区域外的链接:element.Click()   有:InvalidOperationException;元素在点(1134,989)无法点击

是否有一些决定? 也许更新chrome驱动有帮助?

2 个答案:

答案 0 :(得分:1)

我们遇到了同样的问题。我们使用的是Chromedriver版本2.31。更新到2.32后,问题就消失了。以下是对2.32所做的更改之一: “修复了由于Chrome 61 +中页面滚动更改而导致Chromedriver无法点击的错误。”

答案 1 :(得分:0)

我实现了一个带有一些JavaScript的方法来帮助解决这些问题(滚动到视图中),当然,对于我使用的任何浏览器,它必须以不同的方式实现。

试试这个:

IJavaScriptExecutor js = SeleniumDrivers.driver as IJavaScriptExecutor;

铬:

js.ExecuteScript("arguments[0].scrollIntoViewIfNeeded(true);", e);

Firefox& IE:

js.ExecuteScript("arguments[0].scrollIntoView(true);" +
                                     "window.scrollBy(0,-100);", e);

你不需要“window.scrollBy”部分,但我注意到它帮助我增加了那个部分。显然,您可以将变量设置为适合您的任何变量,或者如果它对您所需的变量不可行则将其完全删除。

这解决了我的“外部可见区域”问题。

我后来也不得不经常将焦点添加到窗口。这真的成​​了IE的问题。所以这是在下面实现的:

driver.SwitchTo().Window(driver.CurrentWindowHandle);

它似乎也有助于Firefox。

祝你好运!