1

ページ オブジェクトを使用して Web サイトをテストしようとしています。スクリプトを実行しているときに、Element is no longer attached to the DOM (Selenium::WebDriver::Error::StaleElementReferenceError)エラー メッセージが断続的に表示されます。機能。

この問題を解決するにはどうすればよいですか?何か提案があれば教えてください。

4

3 に答える 3

2

この例外は、操作している要素が 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 の方法を使用できます。

于 2013-08-09T05:43:55.887 に答える