1. ホーム
  2. java

[解決済み] Seleniumで "StaleElementReferenceException "を回避する方法とは?

2022-03-06 06:03:59

質問

私は、Javaを使用して多くのSeleniumテストを実装しています。時々、私のテストは StaleElementReferenceException . テストをより安定させるためのアプローチについて教えてください。

どのように解決するのですか?

これは、ページ上で起きているDOM操作によって、一時的にその要素にアクセスできなくなる場合に起こる可能性があります。このようなケースを想定して、最終的に例外を投げる前に、ループ内で何度も要素へのアクセスを試みることができます。

試す darrelgrainger.blogspot.comの素晴らしい解決策です。 :

public boolean retryingFindClick(By by) {
    boolean result = false;
    int attempts = 0;
    while(attempts < 2) {
        try {
            driver.findElement(by).click();
            result = true;
            break;
        } catch(StaleElementException e) {
        }
        attempts++;
    }
    return result;
}