UIオートメーションにPageObject/PageFactoryデザインパターンを使用しています。Selenium 2.0 WebDriver、JAVAを使用すると、ランダムに次のエラーが発生します。org.openqa.selenium.StaleElementReferenceException:次のようなロジックを試行すると、要素がDOMにアタッチされなくなります。
@FindBy(how = HOW.ID, using = "item")
private List<WebElement> items
private void getItemThroughName(String name) {
wait(items);
for(int i = 0; i < items.size(); i++) {
try {
Thread.sleep(0500);
} catch (InterruptedException e) { }
this.wait(items);
if(items.get(i).getText().contains(name)) {
System.out.println("Found");
break;
}
}
}
エラーはifステートメントの行でランダムに発生します。これを回避するために、少し時間をとったり、要素を再度待機したりするなど、これを回避するためにいくつかのことを試みましたが、どちらも100%の時間は機能しません。