私は要素がページに表示されていない(表示されているかそうでないか)ことを確認したいテストを書いています。私はさまざまな記事(this oneのような)を読んで、要素の検出を空のリストで行う方法を読んだ。それは要素が存在することを確認する反対のテストでうまく動作します。しかし、要素が存在しない場合、私は一貫して、回転の60秒後にWebDriverExceptionタイムアウトを取得しています:See screenshot here要素がDOMにないときにSelenium Webdriver findElements(By.Id)のタイムアウトが発生するのはなぜですか?
要素検出機能などである。
public bool isButtonPresent(string buttonType)
{
switch (buttonType)
{
case "Button 1":
return !(Driver.FindElements(By.Id("Button 1 ID Here")).Count == 0);
case "Button 2":
return !(Driver.FindElements(By.Id("Button 2 ID Here")).Count == 0);
case "Button 3":
return !(Driver.FindElements(By.Id("Button 3 ID Here")).Count == 0);
}
return false;
}
はお時間をいただき、ありがとうございます!
ところで、私はSelenium 2.53.1を実行しています – Elininja
暗黙の待機がアクティブになっているようです。 ImplicitlyWait(TimeSpan.FromMilliseconds(0)); ' –
これは、魅力的なFlorentのように機能しました、ありがとうございます!このソリューションを回答に入れることができれば、私はそれを記入して喜んでいます。また、なぜこれが機能するのか、より詳細な説明があれば、それは私と他の将来の視聴者に含めることは素晴らしいことです。 – Elininja