2010-06-25 96 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/) 

希望能幫到。

相關問題