2011-08-16 18 views
0

セレンを介してタスクを自動化しようとしていますのデータベーステーブル。
対応するコードがセレンのエラー:org.openqa.selenium.NoSuchElementException:要素を見つけることができません:{"メソッド": "名前"、 "セレクタ": "db_vaults__button"}

WebElement element=null;
while((element = driver.findElement(By.name("db__button"))) != null){ driver.findElement(By.name("db__button")).click(); driver.findElement(By.name("ConfirmButton")).click(); }

しかし、私は次のエラーを取得しています。 -

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"name","selector":"db_vaults__button"} For documentation on this error, please visit: http://seleniumhq.org/exceptions/no _such_element.html

これは、長いテーブルがデータベース内にあるよう細かい動作しますが、ときがありますテーブルが残っていなければ、GUIにはリストが表示されず、db__buttonはページに存在しないため、By.name("db__button")は失敗しています。
ループ内のいくつかのテーブルを削除しようとしているこのコードには何かがありません。
スタックトレースの推奨リンクには情報がありません。
すべてのアイデア?

ありがとうございました。

答えて

2

あなたは下記のような何かを行うことができます:

try { 
     element = driver.findElement(By.name("db__button")); 
     driver.findElement(By.name("db__button")).click(); 
     driver.findElement(By.name("ConfirmButton")).click(); 
    } catch (NoSuchElementException e) { 

    } 

上記のコードは、(もしあれば)内のコードを書くことができexception.Youをスローします見つからなかった場合には、あなたのボタンとを見つけようとします要素(db_button)が見つからない場合はブロックをキャッチします。

+0

ありがとうございます。これはこれを手渡す一つの方法です。 – Ankur

+0

よりよい解決策が存在し、この回答を見てください:http://stackoverflow.com/questions/6521270/webdriver-check-if-an-element-exists – Flanfl

関連する問題