2017-08-08 9 views
1

if条件内tryブロックが動作しません。セレンのwebdriverで条件が機能しないcatchブロックを試してください。C#

(Xpathで定義された)要素がWebページに存在/表示されていても、スクリプト実行は常にtry catchループから外れます。 if条件が失敗します。

ご協力いただければ幸いです。

try 
{ 
    string path = "//*@id='form_780_0']/div[2]/div/div[3]/div"; 
    if(driver.FindElement(By.XPath(path)).Displayed) 
    { 
     Assert.Fail("Fails"); 
    } 
} 
catch (Exception) 
{ 
    //There is nothing here 
} 

// Some code here and this is executed after evaluating if condition 
// even if element is displayed 
+0

例外は何を教えてくれますか? –

+0

tryとcatchを削除します。失敗して完全な例外を投稿しましょう –

+0

@RufusL:質問を更新しました。実行は例外パスにも入りません。条件が満たされているかどうかを評価した後、try catchループから抜ける。 – user8356727

答えて

0

「実行は、どちらかの例外パスに入りません。それが条件ならば評価した後にtryキャッチループの外に出る」

  • これは、要素が見つかったことを意味しますが、それは表示されません。見つからなかった場合は、NoSuchElementExceptionが発生します。さらに、要素が見つかって表示されている場合は、Assert.Failメソッドをトリガーします。
関連する問題