javascript – 带角度叠加的量角器/ Selenium,其他元素将获得点击

我们的应用程序有一个角度覆盖,总是在dom(虽然不总是可见)..有时当我试图点击页面上的元素时,Selenium会抛出错误…

Element is not clickable at point (544, 297). Other element would
receive the click: div class=”overlay” style=”transition-property:
opacity; -webkit-transition-property: opacity; transition-duration:
300ms; -webkit-transition-duration: 300ms; transition-timing-function:
ease-in-out; -webkit-transition-timing-function: ease-in-out; display:
block; opacity: 0;”>

有没有人经历过这个? webdriver .isDisplayed总是报告它是假的,即使它仍然禁止点击.

我编写了一些附加到量角器的waitForAngular函数的代码,该函数检查覆盖的dom元素的各种状态(等到它有一个display:属性值为“none”).这有很大帮助,除非浏览器在后台执行,否则我不再遇到此问题.如果浏览器不在前台,那么我经常会遇到覆盖问题.当量角器正在等待(基于我等待角度覆盖)时,如果我将浏览器带到前台,则测试立即开始继续执行并且覆盖的dom状态发生变化.

会喜欢有洞察力的人的任何想法.

我认为.isDisplayed无法正常工作似乎是一个webdriver问题.而且我还假设叠加层在背景中陷入特定的dom状态是一个角度问题.

最佳答案 根据你的css属性,你的元素有不透明度:0;

根据这个答案here,具有不透明度的元素:0仍然接收事件,因此您的叠加层不会完全隐藏.

我建议你使用其他css属性来隐藏你的叠加层,例如visibility:hidden或display:none;代替.

点赞