ホームページ > バックエンド開発 > C++ > デバッグせずに実行すると WebDriverWait が無視されるように見えるのはなぜですか?

デバッグせずに実行すると WebDriverWait が無視されるように見えるのはなぜですか?

Linda Hamilton
リリース: 2025-01-03 19:55:40
オリジナル
755 人が閲覧しました

Why Does My WebDriverWait Seem to Be Ignored When Running Without Debugging?

WebDriver.Wait 指定された要素を待機していません

クエリ:

コードが待機しようとしていますテキストコンテンツを取得する前の要素の外観。コードをステップ実行すると、コードは適切に機能します。ただし、ブレークポイントなしで実行すると、待機がバイパスされているように見え、例外がスローされます。

待機が無視されるのはなぜですか?

コード スニペット:

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement message = wait.Until(driver => driver.FindElement(By.ClassName("block-ui-message")));
string messageText = message.Text;
ログイン後にコピー

応答:

別のアプローチは、WebDriverWait の ElementIsVisible() メソッドを、変更された Locator Strategy と組み合わせて使用​​することです。

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
ログイン後にコピー

NuGet で DotNetSeleniumExtras.WaitHelpers を使用する:

SeleniumExtras を使用している場合、およびWaitHelpers の場合、コードは次のように変更できます。以下:

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
ログイン後にコピー

以上がデバッグせずに実行すると WebDriverWait が無視されるように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート