以下のコードを使用したところ、要素が存在しない場合に TRY ブロックが機能しないことがわかりました。
try
{
var actual = new WebDriverWait(m_WebDriver, TimeSpan
.FromSeconds(5))
.Until(ExpectedConditions
.ElementIsVisible(By.XPath(XpathUnderTest)))
.Displayed;
return actual;
}
catch (Exception ex)
{
return false;
}
Web要素の存在が他の条件に依存するユースケースがあるため、Webページに常に存在または表示されません。要素が存在する場合は機能しており、要素が存在しない場合、Try catch は上記のコードを使用してシナリオを処理できません。
私も試しました: bool isPresent = Driver.Findelements.(xpath).Count() > 0; // リストしますが、要素が存在しない場合は同様に機能しません