2010-06-25 94 views
1

使用ruby,我怎样才能让webdriver点击一个JavaScript链接?使用Ruby webdriver(Selenium 2.0)点击一个javascript链接

我试图点击该链接是: <a class="TabOff" href=" javascript:showConfirm('/campustoolshighered/k12_admin_admin_menu.do');">Administration </a>

我将能够触发一个按键事件的JavaScript?如果是这样,有没有人知道这样做的语法?我很难找到webdriver的一个很好的参考 - 虽然我明白,它可能会因为测试版本的推出而变得更好。

我也看过firewatir和机械化。如果你有理由认为其中的一种会更好,那么请让我知道,为什么。它需要能够点击JavaScript链接并从电子表格或csv文件提交表单数据。

感谢您的帮助!

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 

回答

1

点击确实会触发javascript。你确定它实际上是找到链接?

您的HTML源代码在“管理”一词后面显示空格字符 也许是原因。

检查

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

返回true。

或尝试不同的搭配:

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

注意:您还可以使用正则表达式为:文本为好,如

ff.link(:text, /Administration/) 

希望能帮到。

相关问题