检查Web元素是否被覆盖的单一方法

时间:2016-01-20 21:10:36

标签: java selenium selenium-webdriver

我正在使用Selenium和Java来编写测试。我使用ExpectedConditions.elementToBeClickable点击网络元素,但有时他们会被其他人覆盖,如您所知ExpectedConditions.elementToBeClickable只检查元素是否已启用且可见,那么是否有方法检查它是否被覆盖?
顺便说一句,我不想​​使用像:

这样的代码
     try{ 
        //click on the element
        }
     catch(Exception e)
         {//it's covered
         }

我正在寻找类似的东西:

blabla.isCovered();

因为有时例如我想检查整个窗口是否被覆盖。

1 个答案:

答案 0 :(得分:0)

如果您不想使用那种代码,也许您应该为checkifClickable方法添加额外的逻辑,而不仅仅是启用和显示。虽然,我认为你真正的问题更多的是“我如何检查这些条件禁止我点击,这可能是由DOM提供的信息不明显”。

这使得自动化比人们意识到的更困难,因为您必须具备该站点的详细知识。它是由于逻辑或条件而弹出的元素吗?然后解决方案是关闭它。它是渲染问题的解决方案吗?然后调整窗口大小。没有真正的万灵药方法,你必须调整自动化逻辑以适应你正在工作的网站。

您是否不想完全点击并且之前知道?

如果你特别不想使用Try,那么在你点击然后设置一个bool后,实现一个属性发生变化的断言。