VS2017中的硒-找不到元素。无法点击

时间:2019-08-07 12:53:07

标签: selenium nunit

我的页面上有手风琴。当我尝试单击该元素时,出现错误:“在点(741,503)不可单击。其他元素将获得该单击”。 我觉得这是因为元素位置已从以前的手风琴面板开口改变了。

我已经尝试了所有提到的javascript和xpath解决方案。

代码没什么特别的:

driver.FindElement(By.Id("FirstPanel")).Click();
// click some things
// do an assert
driver.FindElement(By.Id("NextPanel")).Click();  <-- this is where it fails

实际消息(略作编辑):

  

消息:OpenQA.Selenium.ElementClickInterceptedException:元素单击被拦截:元素<h4 id="MyElementId" data-toggle="collapse" data-target="#TargetName" style="cursor: pointer; color:#60a531;" class="">...</h4>在点(741,503)不可单击。其他元素将获得点击:<div id="AnotherId">...</div>     (会话信息:chrome = 75.0.3770.142)

1 个答案:

答案 0 :(得分:0)

失败可能是由于两个可能的原因

  1. 在执行第一条语句后执行一些单击时,DOM结构会更改,并且原始元素ID不可访问。在这种情况下,您可以轻松地对其进行调查。手动执行步骤,直到出现故障,然后使用firebug / chropath查看您的元素是否确实存在具有相同ID的

  2. 第二个可能的原因可能是您的元素被另一个元素覆盖,并且您没有在单击之前充分等待代码。这也可能意味着,如果您的UI包含iframe,则您执行的操作会将上下文从当前iframe更改为另一iframe。

您也可以尝试在代码中使用JavascriptExecutor单击此元素