selenium - find_elements_by_xpath - xpath text




WebDriver findElement par xPath, pas TIMEOUT si l'élément n'est pas trouvé, l'écran se bloque juste là. (4)

essayez ce localisateur

driver.findElement(By.xpath("//input[@name='AID'][contains(@value,'sampleDataThatwillNotFound')]"));

Je suis confronté à un problème où le test se bloque (le navigateur est ouvert et ne peut pas passer le test suivant) en raison de mon instruction de test incapable de trouver l'élément.

Mon TestStatemet aime ceci:

driver.findElement(By.xpath("//input[@name='AID' and contains(@value,'sampleDataThatwillNotFound')]"));

Le test se bloque uniquement lorsque trouvé par XPATH, aucun problème lors de la recherche par NAME / ID. J'avais mis le délai d'attente à 60 secondes, après les 60 secondes, il pend toujours.

Quelqu'un là-bas face à ce problème avant? ou N'importe qui a eu une idée de comment résoudre ce problème?


Eh bien, j'ai eu le même problème et je l'ai trouvé dans doc api webdriver : findElement ne devrait pas être utilisé pour rechercher des éléments non présents, utiliser findElements(By) et affirmer une réponse de longueur zéro à la place.

Donc j'utilise quelque chose comme

List<WebElement> found = driver.findElements(By.id("elementid"));
if (found.size() > 0) 
{
    // get the 1st element
} else {
    // time out
}

pour résoudre ce problème. Et timeout implicite fonctionne très bien avec findElements dans mon cas.


J'ai essayé quelques réponses ci-dessus, mais ayant toujours les mêmes problèmes .. je reviens à la version 17.0.3 old firefox .... tout juste résoudre .. abit drôle .. ceux qui font face au même problème que vous pouvez essayer à FF Version 17.0 .3


J'avais le même problème après la mise à jour de Firefox (25 à 26) et Selenium (2.37.1 à 2.39.0 pilote + serveur). Pas d'exception levée, blocage indéfini, etc. Il a été résolu en supprimant la déclaration implicitlyWait . Pas une vraie solution mais assez bonne dans mon cas.