Selenium WebDriver StaleElementReferenceException 質問する

Selenium WebDriver StaleElementReferenceException 質問する

テストを実行すると、次のエラーが発生します: org.openqa.selenium.StaleElementReferenceException: 要素が DOM に接続されていません

上記の例外を解決する方法について何かアイデアはありますか?これは、動的なref Xpath式を持つグリッドで発生します。

ベストアンサー1

私も同じ問題に遭遇しましたが、解決策を見つけることができませんでした。解決策を思いついたのでここに投稿します。同じ問題を抱えている人の役に立つことを願っています。私は、タイプ、CSS セレクタ、ID などに応じて古い要素を処理するクラスを作成し、他のページ オブジェクトと同じように呼び出すだけです。

public void StaleElementHandleByID (String elementID)
{
    int count = 0;
    boolean clicked = false;
    while (count < 4 && !clicked)
    {
        try 
        {
            WebElement yourSlipperyElement= driver.findElement(By.id(elementID));
            yourSlipperyElement.click(); 
            clicked = true;
        } 
        catch (StaleElementReferenceException e)
        {
            e.toString();
            System.out.println("Trying to recover from a stale element :" + e.getMessage());
            count = count+1;
        }
    }
}

WebDriver に問題を引き起こすことが分かっている要素にのみこれを使用することをお勧めします。

おすすめ記事