使用 ruby,如何让 webdriver 点击 javascript 链接?
我尝试点击的链接是:
<a class="TabOff" href=" javascript:showConfirm('/campustoolshighered/k12_admin_admin_menu.do');">Administration </a>
我可以通过 keyPress 事件触发 JavaScript 吗?如果是这样,有人知道这样做的语法吗?我很难找到 webdriver 的良好引用 - 尽管我知道随着 Beta 版本的结束,它可能会变得更好。
我还研究了 firewatir 和 mechanize。如果您有理由认为其中一种方法是更好的方法,请告诉我并说明原因。它需要能够单击 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
最佳答案
点击确实会触发javascript。您确定它确实找到了链接吗?
您的 HTML 源代码在“管理”一词后显示一个空格字符 也许这就是原因。
检查是否
ff.link(:text, "Administration").exists?
返回 true。
或者尝试不同的匹配:
ff.link(:class => 'tabOff').click
注意:您也可以对 :text 使用正则表达式,例如
ff.link(:text, /Administration/)
希望能帮到你。
关于javascript - 使用 Ruby webdriver (Selenium 2.0) 单击 javascript 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120505/