ホームページ >Java >&#&チュートリアル >Selenium WebDriver で古い要素参照例外を処理する方法?

Selenium WebDriver で古い要素参照例外を処理する方法?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-15 04:02:02843ブラウズ

How to Handle Stale Element Reference Exception in Selenium WebDriver?

Selenium WebDriver で古い要素参照例外に対処する方法

Selenium WebDriver の古い要素参照例外は、無効化されたか有効ではなくなった DOM 内の要素。これは、複雑な Web ページが DOM を動的に変更し、要素が破棄されて再作成される場合に発生する可能性があります。

WebElement について

WebElement は DOM 内の要素を表します。ページの動的な動作の結果、要素が破棄されてから再作成され、既存の WebElement 参照が無効になる可能性があります。

古い要素参照例外の解決

StaleElementException が発生した場合、解決策は要素を再度検索して参照を更新することです。このプロセスには、By.id や By.xpath などの信頼できるロケーター戦略を使用して要素をもう一度見つけることが含まれます。

実際の例

次のコードを考えてみましょう。スニペット:

WebElement element = driver.findElement(By.id("my-element"));
element.click();
// Page is modified dynamically
driver.findElement(By.id("my-element")).sendKeys("New Value"); // Stale Element Reference Exception

この例外を解決するには、WebElement 参照を更新できます:

WebElement refreshedElement = driver.findElement(By.id("my-element"));
refreshedElement.sendKeys("New Value");

要素を再検索することで、DOM への有効な参照があることを確認します。要素と対話し続けることができます。

以上がSelenium WebDriver で古い要素参照例外を処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。