我正在使用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>
请帮助我解决此问题。
答案 0 :(得分:1)
ElementClickInterceptedException
通常是在元素不可点击时发生的。由于您已经尝试过睡觉;同步相关的问题可以排除。
您可以尝试的是:
检查元素所在的外部容器或框架/ iframe是否可能导致此问题
通过POE(消除过程);确定直到可见元素的级别,然后从那里开始xpath。在示例中,您给div属性flex layout vertical
似乎没有任何值,您可以检查此前后是否有某个元素,以查看此div的渲染是否有问题。
从Polymer角度看,将有助于检查是否使用了任何阴影DOM对象;如果是这样,请检查以下内容: https://github.com/sukgu/shadow-automation-selenium