2011-02-23 61 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