ページ オブジェクトを使用して Web サイトをテストしようとしています。スクリプトを実行しているときに、Element is no longer attached to the DOM (Selenium::WebDriver::Error::StaleElementReferenceError)エラー メッセージが断続的に表示されます。機能。
この問題を解決するにはどうすればよいですか?何か提案があれば教えてください。
ページ オブジェクトを使用して Web サイトをテストしようとしています。スクリプトを実行しているときに、Element is no longer attached to the DOM (Selenium::WebDriver::Error::StaleElementReferenceError)エラー メッセージが断続的に表示されます。機能。
この問題を解決するにはどうすればよいですか?何か提案があれば教えてください。
この例外は、操作している要素が DOM で変更された場合に発生します。WebElement オブジェクトで要素をキャプチャし、そのオブジェクトをさらに使用してクリック/入力を実行し、その間にその要素への参照が変更された場合、使用しているオブジェクトは正しいロケーターを参照しなくなります。最初に WebElement オブジェクトで要素をキャプチャしてから、そのオブジェクトをさらに使用するのではなく、要素と対話するときに要素ロケーターを使用してみてください。
たとえば、次のようにする代わりに:
WebElement e = driver.findElement(By.id("someID"));
e.click();
.
.
.
e.click();
使用してみてください:
driver.findElement(by.id("someID")).click();
.
.
.
driver.findElement(by.id("someID")).click();
それ以外の場合は、Vinay の方法を使用できます。