0
votes

Elément non intraitable d'erreur avec sélénium et java

public void addnew_date() {

    driver.findElement(By.cssSelector("input[type='submit']").click();
    driver.manage().timeouts().pageLoadTimeout(40,TimeUnit.SECONDS);
    driver.manage().timeouts().implicitlyWait(40,TimeUnit.SECONDS);
}

0 commentaires

3 Réponses :


0
votes

Veuillez utiliser ceci ci-dessous xPaths.

xPath's: 1. // entrée [@ type = 'Soumettre']
2. // entrée [contient (texte (), 'Ajouter une nouvelle date de début de début')] xxx

implicitwait et pageloadtimeout doit être utilisé à Le début du test, juste après la création de l'objet WebDriver, c'est-à-dire le pilote.

quelque chose comme: xxx


5 commentaires

Votre xpath n ° 1 est exactement la même chose que ce que OP utilise déjà ... Comment cela résoudra-t-il potentiellement le problème?


Jeffc: Essayez avec les XPaths donnés par moi et celui que OP a déjà écrit en question, voir lequel travaille réellement et ensuite parler.


Cela ne répond pas à ma question ... Vous avez changé exactement le même localisateur d'un sélecteur CSS à un XPath ... qui ne commencera pas comme par magie.


M. Jeffc essayez les deux et vérifiez lequel fonctionne et voyez la magie qui se produit .. c'est la façon dont il résout


Non, il n'y a pas de magie ici. Le premier ne fonctionnera pas parce que c'est la même chose que ce que Posted.



0
votes

Vous devez induire WebDriverwait en conjonction avec EvoyableConditions comme ellementTobeclickable () et vous pouvez utiliser ce qui suit Stratégie de localisation :

  • xpath : XXX


0 commentaires

0
votes

Il peut y avoir des chances que l'élément prévu soit présent mais non cliquant ou affichage, il jette donc ladite exception. Besoin d'identifier la cause réelle. Essayez la manière suivante pour déboguer:

  • Assurez-vous d'avoir l'élément unique avec le localisateur entrée [type = 'Soumettre'] Il peut y avoir quelques autres balises d'entrée avec type de soumission et qui peut être le premier et non intraitable . Donc, besoin de le rendre plus spécifique en ajoutant des éléments ou des attributs environnants par exemple. // entrée [TYPE = 'SOUMETURE'] [Contient (@ Valeur, 'Ajouter une nouvelle date')]

  • Effectuez la vérification de l'état actuel de l'élément E.g. XXX

  • Si l'élément nécessite un certain temps pour être interagi, utilisez judicieusement les conditions d'attente de sélénium

    1. implicitwait exemple: XXX

    2. Exemple explicitwait: XXX

    3. une alternative Vous pouvez essayer d'utiliser .Submit () car l'élément est le type de soumission ou peut utiliser javascriptexecuter pour effectuer le clic XXX


0 commentaires