2017-03-09 14 views
0

id属性を使用して、webelementが表示されているかどうかを確認しようとしています。このようなWeb要素が存在しない場合は例外がスローされ、受け入れられません。 Selenium API JavaDocでは、存在しない要素を探すために 'findElement'を使用すべきではなく、 'findElements(By)'を代わりに使用し、長さゼロの応答をアサートすることを推奨しました。しかし、これも例外を投げている、私は理由を知らない!他に何か提案がありますか?例外がスローされないでwebelementを探す方法は?

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; 
      } 
+0

PraNutaエラーのスクリーンショットを投稿してください。 – AK1

+0

私の悪い! はい、length()メソッドの呼び出しは、java.util.LIstクラスでは使用できません。 私はsize()を使うべきです。 今回はうまくいった。 – PraNuta

+0

回答としてマークするには? – PraNuta

答えて

0

findElements方法はwebelementsのリストを返し、あなたはリストがサイズ()メソッドを使用して、任意のwebelementsが含まれているかどうかを確認することができます。したがって、既存のコードを次のように置き換えて問題が解決したかどうか教えてください:

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

はい。それは私の悪です! 現在作業中です。 Groovyファイル内でこのJavaコードを使用しているため、コード・アシスタントはうまく機能しません。間違ったメソッド呼び出しをハイライト表示し、その下に下線を引くだけです。 EclipseのGroovyエディタでは利用できないJavaコード・ベースの機能に惑わされました。 – PraNuta

+0

素晴らしい。私があなたの質問に答えたなら、あなたはそれを受け入れられたものとしてマークできますか?回答を受け入れる方法については、http://stackoverflow.com/help/someone-answersを参照してください。ありがとう。 – Mahipal

関連する問題