Selenium で「StaleElementReferenceException」を回避するにはどうすればよいでしょうか? 質問する

Selenium で「StaleElementReferenceException」を回避するにはどうすればよいでしょうか? 質問する

私はJavaを使って多くのSeleniumテストを実装していますが、時々テストが失敗します。StaleElementReferenceException

テストをより安定させるためのアプローチをいくつか提案していただけますか?

ベストアンサー1

これは、ページで実行されている 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;
}

おすすめ記事