我正在使用Selenium和Java来编写测试。我使用ExpectedConditions.elementToBeClickable
点击网络元素,但有时他们会被其他人覆盖,如您所知ExpectedConditions.elementToBeClickable
只检查元素是否已启用且可见,那么是否有方法检查它是否被覆盖?
顺便说一句,我不想使用像:
try{
//click on the element
}
catch(Exception e)
{//it's covered
}
我正在寻找类似的东西:
blabla.isCovered();
因为有时例如我想检查整个窗口是否被覆盖。
答案 0 :(得分:0)
如果您不想使用那种代码,也许您应该为checkifClickable方法添加额外的逻辑,而不仅仅是启用和显示。虽然,我认为你真正的问题更多的是“我如何检查这些条件禁止我点击,这可能是由DOM提供的信息不明显”。
这使得自动化比人们意识到的更困难,因为您必须具备该站点的详细知识。它是由于逻辑或条件而弹出的元素吗?然后解决方案是关闭它。它是渲染问题的解决方案吗?然后调整窗口大小。没有真正的万灵药方法,你必须调整自动化逻辑以适应你正在工作的网站。
您是否不想完全点击并且之前知道?
如果你特别不想使用Try,那么在你点击然后设置一个bool后,实现一个属性发生变化的断言。