Maison > Java > javaDidacticiel > Comment puis-je vérifier de manière fiable le chargement complet de la page dans Selenium ?

Comment puis-je vérifier de manière fiable le chargement complet de la page dans Selenium ?

Susan Sarandon
Libérer: 2024-12-22 15:25:18
original
740 Les gens l'ont consulté

How Can I Reliably Check for Complete Page Load in Selenium?

Vérification de l'état de chargement de la page dans Selenium

Dans Selenium, vérifier si une page Web est complètement chargée est une exigence courante. Lors de la mise en œuvre de cette fonctionnalité, les utilisateurs rencontrent souvent des problèmes avec les solutions existantes.

Disponibilité des fonctions génériques

Malheureusement, il n'existe pas de fonction générique dans Selenium qui vérifie directement si une page a complètement chargé.

Stratégie de chargement de page et JavaScript Exécution

Dans votre tentative de code, vous avez utilisé l'évaluation pageLoadTimeout et document.readyState. Cependant, la stratégie de chargement de page contrôle le moment où Selenium considère qu'une page est entièrement chargée, elle ne garantit pas que tous les éléments sont présents. Attendre que document.readyState soit « complet » indique uniquement que la structure HTML est disponible.

En attente du chargement complet de la page

Une approche plus complète est nécessaire pour garantir tous les éléments de la page sont visibles et chargés.

Stratégie de chargement de page

Définition de la page Charger la stratégie sur « normal » à l'aide de DesiredCapabilities ou de ChromeOptions aide à capturer lorsque document.readyState est « complet ». Cependant, cela ne garantit toujours pas que toutes les ressources sont chargées.

Élément dynamique en attente

Pour les pages dynamiques avec des appels JavaScript et Ajax, vous pouvez utiliser la fonction suivante pour attendre la fin :

public void WaitForAjax2Complete() throws InterruptedException {
    while (true) {
        if ((Boolean) ((JavascriptExecutor)driver).executeScript("return jQuery.active == 0")) {
            break;
        }
        Thread.sleep(100);
    }
}
Copier après la connexion

Attendu Conditions

L'utilisation de WebDriverWait avec des conditions attendues telles que titleContains() ou visibleOfElementLocated() peut garantir que le titre de la page est visible ou qu'un élément spécifique est accessible, respectivement.

new WebDriverWait(driver, 10).until(ExpectedConditions.titleContains("partial_title_of_application_under_test"));
Copier après la connexion

Conclusion

Vérifier si une page Web est entièrement chargée dans Selenium nécessite des approches à multiples facettes, notamment la stratégie de chargement de page, l'attente de contenu dynamique et la vérification d'éléments spécifiques, sont disponibles. Considérez les exemples et les références fournis pour améliorer vos propres implémentations.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal