2017-09-25 1 views
0

Comment puis-je passer l'erreur et continuer avec la prochaine itération dans for loop, j'ai collé mon code ci-dessous, ce que j'essaie est, je suis en train de télécharger plusieurs PDF à partir d'un site Web, je ont utilisé le linkText-FullText PDF qui est disponible pour tous les fichiers PDF sauf un, donc la boucle échoue et le programme s'arrête.sélénium, java, test

Error: Exception in thread "main" 
org.openqa.selenium.NoSuchElementException: no such element: Unable to 
locate element: {"method":"link text","selector":"Fulltext PDF"} 
(Session info: chrome=60.0.3112.113) 
+2

Où est votre code? – NarendraR

+0

Le message n'est-il pas assez clair? Il n'existe aucun élément correspondant à vos critères. Vérifiez votre code et les attributs sur la page, pour voir s'ils correspondent –

+0

String printLink; \t \t \t \t try { \t \t \t \t \t Printlink = d.findElement (By.linkText ("PDF texte intégral")) getAttribute ("href"). \t \t \t \t} \t \t \t \t \t \t \t \t catch (NoSuchElementException e) { \t \t \t \t \t Printlink = "NO_DATA_FOUND"; \t \t \t \t} – SarathChandar

Répondre

2

Vous pouvez utiliser try catch block pour ignorer l'erreur comme indiqué ci-dessous.

for(;;){ 

    try{ 

      //code to click on link text 

    } 
    catch(NoSuchElementException ex){ 

    } 
} 
0

Vous pouvez utiliser toute condition en boucle comme pour, alors qu'avec prise d'essayer de gérer exception avec l'exécution continue

while (true ou condition ici) {

try{ 

     // your code here 

    }catch(Exception e){ 

    } 

}

ou

pour (; condition ici;) {

try{ 

     // your code here 

    }catch(Exception e){ 

    } 

}