Sur ma page web se trouvent deux types d'erreurs différentes.
La première est :
<div class="warning" data-text="text-field-error" dir="ltr">Diese ID ist nicht verfügbar.</div>
Et la deuxième est :
<div class="separator-notice text-notice text-margin theme-noticeerror-font" dir="ltr">Bei der Verbindung zum Server ist eine Zeitüberschreitung aufgetreten.</div>
Par exemple, si j'essaie le mauvais courriel, il n'y a pas de valeur spécifique quant au nombre de fois que vous pouvez répéter. De temps en temps, c'est différent. Maintenant la première erreur signifie que cet email (dans mon cas ID) n'est pas valide.
La deuxième erreur signifie que la connexion au serveur a échoué. Maintenant, avec Selenium, je veux gérer ces deux erreurs différentes de la manière suivante :
for line in lines:
driver.find_element_by_id(input_id).send_keys(line)
driver.find_element_by_class_name(check_available).click()
count += 1
time.sleep(1)
try:
# Check if I get error one
except:
# I got an error two
else:
pass
J'ai déjà regardé sur stack mais je n'ai rien trouvé qui corresponde à mes besoins. J'ai également essayé avec xpath par texte comme ceci :
try:
driver.find_element_by_xpath("//div[contains(text(), ' Diese ID ist nicht verfügbar.')]")
except:
# It has to be error two
Donc ma question est : Comment puis-je vérifier quelle erreur j'ai actuellement et comment puis-je travailler avec cette erreur. Par exemple
if error1:
print("error_one")
if error2:
print("error_two")