2011-02-23 63 views
2

我在網頁上有一個下拉列表,我試圖用Watir進行測試。當watir成功選擇下拉列表中的項目時,jQuery更改事件不會被觸發。JQuery + Watir - 事件處理程序不工作

有沒有辦法讓Watir(使用IE)來觸發jQuery變更事件?

回答

0

您可以嘗試.fire_event方法。例如:

browser.link(:id, "id").fire_event("onmouseover") 

http://wtr.rubyforge.org/rdoc/1.6.5/classes/Watir/Element.html#M000557

+0

我試過fireEvent('onChange')和fireEvent('onchange'),它們都沒有做任何事情。 fireEvent('change')拋出一個異常:無效的參數 – 2011-02-23 18:06:09

+0

我也嘗試fire_event()而不是fireEvent(),結果相同 – 2011-02-23 18:08:16

+0

嗯... .send_keys呢? EG:.send_keys(「{ENTER}」) - http://wtr.rubyforge.org/rdoc/1.6.5/classes/Watir/IE.html#M000497 – orde 2011-02-23 18:44:45

1

我已經有jQuery的頁面,所以我能具有的Watir執行一些JavaScript來觸發改變的事件來解決這個(我曾在droplist改變了選擇後)

@browser = Watir::Browser.new 
@browser.goto("http://someurl") 
@browser.select_list(:id, element_id).select(item_to_select) 
@browser.ie.Document.parentWindow.execScript('$("##{element_id}").change();') 

其中:

  • element_id是有問題的droplist的ID
  • item_to_select在droplist選擇項目
+0

您應該接受您的回答,以便不再顯示在沒有答案的問題列表中 – 2011-05-11 19:24:02