Selenium webdriver 如何在抛出异常的情况下查找webelement?

Selenium webdriver 如何在抛出异常的情况下查找webelement?,selenium-webdriver,webdriver,Selenium Webdriver,Webdriver,我正在尝试使用id属性验证结果页上是否存在某些webelement。当此类webelement不存在且不可接受时,它会引发异常。在Selenium API JavaDoc中,建议不要使用“findElement”查找不存在的元素,而是使用“findElements(By)”并断言零长度响应。但这也是一个例外,我不知道为什么!!还有其他建议吗 try{ // THE PRESENT CODE TO BE MODIFIED. NOT TO THROW exception.*********** /

我正在尝试使用id属性验证结果页上是否存在某些webelement。当此类webelement不存在且不可接受时,它会引发异常。在Selenium API JavaDoc中,建议不要使用“findElement”查找不存在的元素,而是使用“findElements(By)”并断言零长度响应。但这也是一个例外,我不知道为什么!!还有其他建议吗

try{
//  THE PRESENT CODE TO BE MODIFIED. NOT TO THROW exception.***********
//              if(driver1.findElement(By.id(orderResultsCheckbox_0)) != null)
//                  return true;
//              *****************************

       //Instead I wrote as below...

                if(  
                    (driver1.findElements(By.id(orderResultsCheckbox_0) != null)) && (driver1.findElements(By.id(orderResultsCheckbox_0)).length() > 0)
                  )
                    return true;
                else
                    return false;

            } catch (Exception e) {
                println "Exception Thrown ==========>";
                return false;
            }

findElements方法返回webelements列表,您可以使用size()方法检查该列表是否包含任何webelements。因此,请使用以下代码替换现有代码,并让我知道它是否解决了您的问题:

if(driver1.findElements(By.id(orderResultsCheckbox_0)).size() != 0)
         return true;
else
         return false;

普拉纳塔,你能帮我贴一张你收到的错误截图吗?我的错!是的,length()方法调用在java.util.LIst类上不可用。我应该使用size()。这次成功了。如何标记为已回答?是的。这是我的错!它现在正在工作。由于我在groovy文件中使用此Java代码,codeassist无法正常工作。它只是突出显示错误的方法调用,并在其下方加下划线。我被Java代码辅助功能宠坏了,这在Eclipse.Great中的groovy编辑器中是不可用的。如果我已经回答了你的问题,那么你能把它标记为接受吗?有关如何接受答案的信息,请参阅。谢谢