当我将Chrome浏览器更新为61v时,点击可见区域外的不可见元素会出现问题。
早些时候它起作用了
尝试点击可见区域外的链接:
element.Click()
有:InvalidOperationException;元素在点(1134,989)无法点击
是否有一些决定? 也许更新chrome驱动有帮助?
答案 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。
祝你好运!