Si vous utilisez un élément qui n'existe pas dans Selenium, vous obtiendrez le message d'erreur: Impossible de localiser l'élément: xxx. Je souhaite vérifier au préalable l'existence d'éléments.
Parfois, je vois une méthode de gestion des exceptions avec l'essai suivant, mais en fait, elle peut également être jugée avec len.
try:
driver.find_element_by_id('test').click()
except:
#n'existe pas
Le but est d'utiliser driver.find_elements_by_id au lieu de driver.find_element_by_id. À première vue, cela a la même apparence, mais dans le premier cas, une anomalie se produit lorsque l'élément n'existe pas. Dans ce dernier cas, l'anomalie ne se produit pas même si l'élément n'existe pas. Plus précisément, il est utilisé comme suit.
if len(driver.find_elements_by_id('test') > 0) :
ele = driver.find_element_by_id('test')
#Traitement lorsqu'il existe
else:
#Traitement lorsqu'il n'existe pas
Recommended Posts