ElementClickInterceptedException:消息:元素单击被拦截 - 机器人框架

问题描述 投票:0回答:2

我正在使用机器人框架。我对此很陌生。我的应用程序是基于聚合物的应用程序。当我单击一个元素时,它显示以下错误,

    >ElementClickInterceptedException: Message: element click intercepted: Element <div class="app-block"...</div> is not clickable at point (389, 339).

   Other element would receive the click: <vsim-start-page config="{{config}}" startpage="[[startpage]]" vertical="" layout=""></vsim-start-page>

下面的事情,我已经尝试过,但无法找到合适的解决方案。

 1. Sleep for few seconds
 2. CLick Elment At coordinates -  Working but not a good solution
 3. Execute JavaScript    document.evaluate("//*[@name='apps']/div[2]/div/div/div/div/div[3]/div",document.body,null,9,null).singleNodeValue.click();
 4. Execute JavaScript    document.evaluate("//div[contains(text(),'Parts Summary
    New')]",document.body,null,9,null).singleNodeValue.click();

下面是该元素的源代码,

<div flex layout vertical>

<div class="app-title" style="font-size:0.8em;text-transform: uppercase;">Pallet Register</div>

<div class="app-subtitle">Pallet Register View</div>

请帮我解决这个问题。

javascript automation polymer robotframework
2个回答
1
投票
可以说,当元素不可“点击”时,通常会发生

ElementClickInterceptedException
。既然你已经尝试过让睡眠;可以排除与同步相关的问题。

您可以尝试的是:

  • 检查您的元素所在的任何外部容器或框架/iframe 是否可能导致此问题

  • 通过POE(消除过程);确定元素可见的级别,然后从那里开始使用 xpath。在示例中,您给出的 div 属性

    flex layout vertical
    似乎没有任何值,您可以检查之前和之后是否有某个元素,以查看该 div 的渲染是否出现问题。

  • 从Polymer的角度来看,将有助于检查是否有任何shadow DOM对象被使用;如果是这样,请检查以下内容: https://github.com/sukgu/shadow-automation-selenium


0
投票

ElementClickInterceptedException:消息:元素单击被拦截:元素在点 (1170、491) 处不可单击。其他元素将收到点击:...

© www.soinside.com 2019 - 2024. All rights reserved.