Comment vérifier si un texte est présent sur une page web à l'aide de sélénium 2?
Salut, je suis en utilisant le sélénium pour automatiser les tests sur des pages web.
Je suis à l'aide de sélénium 2 et python, et voudrais avoir des réponses dans ce cadre seulement.
ALORS, comment puis-je vérifier si un texte est présent ou pas? J'ai essayé de l'actif est égal, mais il ne fonctionne pas?
assertEquals(driver.getPageSource().contains("email"), true);
Le contexte est une merveilleuse chose ici - que voulez-vous dire qu'il ne fonctionne pas? Comment est-il pas de travail? Que faut-il faire? Afficher une copie de votre code HTML, juste autour de l'élément que vous essayez d'obtenir. Pourquoi la numérisation de l'ENSEMBLE de la source de la page? Vous devrez peut-être revenir à la planche à dessin sur le Sélénium tutoriels.
OriginalL'auteur grv | 2012-06-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
driver.page_source
et une simple expression régulière pour vérifier si le texte existe:OriginalL'auteur limlim
Pour ceux d'entre vous qui sont encore intéressés:
Solution Générique
unittest:
pytest:
assert text in driver.page_source
Merci pour les commentaires. J'ai modifié ma réponse.
Est-ce à dire que le texte est "visible" ou tout simplement qu'il existe quelque part dans la source, mais peut-être caché par css ou liste déroulante etc?
cela signifie qu'il est juste dans la source HTML - donc, oui, il pourrait être caché via CSS. Cette question devrait être examinée et que la solution doit être testé sur une page à page.
Merci. "Boon kwee"réponse de s s'appuie sur WebDriverWait attendre pour l'élément cliquable, donc ça doit être entièrement visible. D'autres attendez-conditions disponible ici: selenium-python.readthedocs.io/waits.html
OriginalL'auteur ChickenFeet
Vous pouvez essayer quelque chose comme
Essentiellement les lignes ci-dessus, lancez Firefox, accédez à l'url spécifiée, à cause du navigateur pour tenir la position pendant 10 secondes, pour une url à charger puis regarder pour un lien texte, si aucun lien n'texte est trouvé, un TimeoutException est déclenchée.
Veuillez noter que le nombre de supports utilisés, vous allez rencontrer des erreurs si le nombre de crochets ne correspond pas, comme ci-dessus.
Pour être en mesure d'exécuter l'instruction ci-dessus, les éléments suivants doivent avoir été déclarées
Il utilise "element_to_be_clickable" - une liste complète d'attente-les conditions peuvent être trouvées ici: Le Sélénium Python: Attend
OriginalL'auteur boon kwee