Maison > Java > javaDidacticiel > Pourquoi est-ce que j'obtiens des erreurs « Référence d'élément obsolète » et comment puis-je les corriger ?

Pourquoi est-ce que j'obtiens des erreurs « Référence d'élément obsolète » et comment puis-je les corriger ?

DDD
Libérer: 2024-11-04 22:12:02
original
319 Les gens l'ont consulté

Why Do I Get

Référence d'élément obsolète : raison et solution

L'erreur "Référence d'élément obsolète" se produit lorsqu'un élément du DOM n'est plus disponible, généralement en raison de sa suppression ou de sa recréation. Dans le code fourni, l'erreur se produit car l'élément référencé par BenefitStatusLi Xpath n'est plus valide.

La structure HTML montre que le lien BenefitStatus est imbriqué dans un

  • élément chargé dynamiquement. Le code parcourt la liste des liens de navigation et recherche le texte BenefitStatus. Cependant, lorsqu'il tente de cliquer sur l'élément à l'aide du Xpath calculé, l'élément a probablement été remplacé par un nouveau lien BenefitStatus avec un Xpath différent.

    Pour résoudre ce problème, utilisez une attente explicite pour vous assurer que l'élément est chargé et stable. De plus, gérez l’exception de référence d’élément obsolète en réessayant de localiser l’élément :

    <code class="java">WebDriverWait wait = new WebDriverWait(driver, 10);
    
    try {
        WebElement benefitStatLi = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(String.format(BenefitStatLi, i))));
        benefitStatLi.click();
    } catch (StaleElementReferenceException ex) {
        WebElement benefitStatLi = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(String.format(BenefitStatLi, i))));
        benefitStatLi.click();
    }</code>
    Copier après la connexion

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

  • source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal