【发布时间】:2013-11-24 00:29:56
【问题描述】:
我目前正在使用带有 C# webdriver 的 chrome 驱动程序。我面临的问题之一是等待“存在”或“可见”在我的情况下不起作用,因为模式窗口需要一些时间才能消失。我收到了这个错误:
System.InvalidOperationException:未知错误:元素在点 (x,x) 处不可点击。其他元素会收到点击:
原因是在我单击“确定/取消”后模态背景仍然存在几秒钟,但背景后面的元素对 selenium 可见且可点击。
那么我如何“等待”直到模态背景完全消失,然后再尝试点击它后面的东西?这不是原生 javascript 模式。这是一种精美的第三方模式,可以通过透明的“封面”滑入和滑出视图,当它打开时可以防止点击其他任何东西。
【问题讨论】:
-
你试过
Thread.Sleep(...)吗? -
贴出你的代码也许有助于更好地回答你
-
Selenium 已经有一个内置机制来强制浏览器等待。检查它的文档here。
-
那么什么“第三方工具”?它是一个 jQuery 插件吗?你检查对话框的
.Displayed属性了吗? -
@AbuHamzah 我实际上在这里读到使用 Thread.Sleep 是不好的做法。我想知道为什么 webdriver 中没有简单的 Pause() X 秒?
标签: c# selenium webdriver selenium-chromedriver