cliquez sur une commande dans selenium webdriver ne fonctionne pas
J'ai récemment fait un export de mon selenium IDE code de sélénium web de chauffeur. J'ai trouvé que beaucoup de commandes qui ont travaillé dans l'IDE soit pas fonctionner ou de sélénium web pilote prétend ne pas soutien à tous. Jusqu'à présent, j'ai été de s'attaquer à ces problèmes un à un, ce qui est loin d'être idéale...
Actuellement, je suis en train de trouver pourquoi en cliquant sur un bouton ne fonctionne pas avec les pilotes web alors qu'il avait déjà travaillé dans selenium IDE. Mon navigateur est FF 13 et mon OS est Ubuntu.
Extrait De Code
WebElement loginButton = driver.findElement(By.name("submit"));
loginButton.click();
J'avais déjà essayé
driver.findElement(By.name("submit")).click();
toutefois la ligne ci-dessus en panne. L'élément est d'être sélectionné, mais il n'enregistre pas de nous en tant que je le voudrais. J'ai trouvé d'autres pages avec des problèmes similaires, mais leur problème semblait être avec Internet Explorer et pas Firefox. Je ne veux même pas penser à des problèmes IE me donnera en bas de la route.
merci,
P. S.
Un conseil sur la meilleure façon de migrer de selenium IDE de Selenium Webdriver sans perdre tous les tests que j'ai écrit pourrait résoudre ce problème.
- avez-vous essayé de
assert loginButton.isDisplayed();
? - quand vous dites que le click() a échoué? Ne vous obtenez des erreurs ou des exceptions.Veuillez les poster à comprendre le pourquoi de la souris() échoue.
- Veuillez trouver la solution la plus simple pour résoudre cliquez sur événement de problème en sélénium. Cliquez sur une Commande Dans Selenium Webdriver Ne fonctionne Pas
Vous devez vous connecter pour publier un commentaire.
Si vous savez certainement que l'élément est présent, vous pouvez essayer ce pour simuler le clic - si
.Click()
ne fonctionne pasou
Une chose importante à regarder dehors pour est de savoir si un bouton est Activé ou non. Vous pouvez toujours cliquer sur eux et rien ne va tomber et l'élément est là, mais il n'est pas prêt à être cliqué sur si juste ne pas faire n'importe quoi.
J'ai été en utilisant webdriver et sa me prend la plupart de la journée pour comprendre cela!
La méthode suivante semble fonctionner de manière fiable (dans mon environnement pour un bouton!)
vous utilisez quelque chose comme
Merci pour toutes les réponses de tout le monde! J'ai trouvé une solution, il s'avère que je n'ai pas assez de code dans ma question.
Le problème a été PAS avec le click() fonction après tout, mais plutôt liées à des cas d'authentification utilisé avec mon projet. Dans Selenium IDE mon login test exécuté une commande "ouvrir" à l'emplacement suivant,
Qui ont travaillé. J'ai exporté le test Selenium webdriver qui naturellement préservé de cet emplacement. La commande en Selenium Webdriver était,
Pour des raisons que je n'ai pas encore de comprendre ce qui précède a échoué. Quand je l'ai changé pour,
La commande click soudainement commencé à travailler... je vais modifier cette réponse si je peux comprendre pourquoi c'est exactement ce.
Note: j'ai occulté les Url utilisées ci-dessus pour protéger mes produits de l'entreprise.
Se reporter ici https://code.google.com/p/selenium/issues/detail?id=6756
Dans crux
S'il vous plaît ouvrir le système d'affichage des paramètres et de s'assurer que la taille de police est fixée à 100%
Il a travaillé étonnamment
Il n'y a rien de mal avec la version de votre code. Tout ce qui est à l'origine de ce, ce n'est pas ça.
Avez-vous triple vérifié votre locator? Votre élément a certainement name=soumettez pas id=soumettre?
J'ai été en utilisant firefox et certains pourquoi il n'était pas de prendre la commande de clic bien passé 2months il travaillait.
Mon sentiment a été de faire usage de sendKeys et cette page a résolu le problème. Maintenant, je suis à l'aide de sendKeys(Clés.Entrez)