2010-06-25 5 views
1

En utilisant ruby, comment puis-je faire en sorte que webdriver clique sur un lien javascript?Utilisation de Ruby webdriver (Selenium 2.0) pour cliquer sur un lien javascript

Le lien que je suis en train de cliquer sur est: <a class="TabOff" href=" javascript:showConfirm('/campustoolshighered/k12_admin_admin_menu.do');">Administration </a>

Serais-je capable de déclencher le javascript avec un événement keyPress? Si oui, quelqu'un connaît-il la syntaxe pour le faire? J'ai eu du mal à trouver une bonne référence pour webdriver - bien que je comprenne que ça ira probablement mieux car il sort de la version bêta.

J'ai aussi regardé firewatir et mécanisé. Si vous avez des raisons de penser que l'une d'entre elles serait une meilleure approche, veuillez me le faire savoir et pourquoi. Il doit être capable de cliquer sur les liens javascript et de soumettre des données de formulaire à partir d'une feuille de calcul ou d'un fichier csv.

Merci pour l'aide!

require 'rubygems' 
require 'watir-webdriver' 

ff=Watir::Browser.new(:firefox) 
ff.goto("http://my-web-address") 

#Put your user name. 
ff.text_field(:name,"user").set("my-username") 

#Put your password. 
ff.text_field(:name,"pass").set("my-passwd") 

#Click Sign In button. 
ff.button(:value,"Login").click 

#Click on Administration tab. <-- This does not work!! 
ff.link(:text, "Administration").click 

Répondre

1

Click va en effet déclencher le javascript. Êtes-vous sûr de trouver le lien?

Votre code source HTML montre un espace caractères après le mot «Administration» Peut-être que la cause.

Vérifiez si

ff.link(:text, "Administration").exists? 

renvoie true.

Ou essayez un autre match:

ff.link(:class => 'tabOff').click 

Remarque: Vous pouvez également utiliser regexp pour le: texte ainsi, comme

ff.link(:text, /Administration/) 

Espoir pour aider.

Questions connexes