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

时间:2019-08-06 04:43:41

标签: javascript automation polymer robotframework

我正在使用Robot Framework。我对此并不陌生。我的应用程序是基于聚合物的应用程序。因为当我单击某个元素时,它显示在错误下方,

    >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>

请帮助我解决此问题。

1 个答案:

答案 0 :(得分:1)

ElementClickInterceptedException通常是在元素不可点击时发生的。由于您已经尝试过睡觉;同步相关的问题可以排除。

您可以尝试的是:

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

  • 通过POE(消除过程);确定直到可见元素的级别,然后从那里开始xpath。在示例中,您给div属性flex layout vertical似乎没有任何值,您可以检查此前后是否有某个元素,以查看此div的渲染是否有问题。

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