2017-10-17 4 views
0

Je lis un texte d'une page. Mais parfois, l'élément de recherche est manquant. Donc, je voudrais continuer la recherche avec la page suivante. Est possible de sauter l'élément inexistant et continuer à la page suivante.ignore l'erreur et recherche l'élément suivant

Ceci est mon code:

while True: 
    try: 
     address = browser.find_element_by_xpath("//*[@id=\"page\"]/div/div[2]/div/div/div[4]/div/div[1]/span[3]/span[1]/span") 
    except: 
     print("bad page:") 

ceci est l'erreur:

Unable to locate element: {"method":"xpath","selector":"//*[@id="page"]/div/div[2]/div/div/div[4]/div/div[1]/span[3]/span[1]/span"} 

merci!

+0

Vous avez déjà traité l'erreur, votre boucle devrait continuer telle quelle. Quel est le problème? – MohitC

+0

@MohitC je reçois l'erreur chaque fois que l'élément est absent sur la page – Beni

+0

Et je vois que vous avez déjà géré cette erreur, donc pas en mesure de comprendre quel est le problème ici. Vous devez poster plus de code (minimal) pour reproduire le problème. – MohitC

Répondre

-1

Vous pouvez utiliser find_elements ici et vérifier si l'élément est présent ou non. Comme find_elements ne lance pas l'exception No element found, votre code fonctionnera même si l'élément est introuvable.

Note: Le code ci-dessous est en JAVA, vous pouvez le convertir en python.

List<WebElement> elements = driver.findElements(By.xpath("//*[@id=\"page\"]/div/div[2]/div/div/div[4]/div/div[1]/span[3]/span[1]/span")); 

     if(elements.count > 0) 
     { 
     // Do action on element 
     } 
     else 
     { 
     //Do action when element not present 
     }