我有一个选择列表:
<select id="filter"> <option value="Open" selected="selected">Open</option> <option value="Closed">Closed</option> </select>
当我选择Closed页面时会重新加载。在这种情况下,它显示关闭的票证(而不是打开的票证)。当我手动执行时,效果很好。
Closed
问题是当我Closed使用Watir选择时页面不会重新加载:
browser.select_list(:id => "filter").select "Closed"
这通常意味着某些JavaScript事件不会触发。我可以使用Watir触发事件:
browser.select_list(:id => "filter").fire_event "onclick"
但我需要知道要触发哪个事件。
有没有办法找出为元素定义了哪些事件?
看起来Firebug(Firefox附加组件)具有答案:
... mousemove clientX=1097, clientY=292 popupshowing mousedown clientX=1097, clientY=292 focus mouseup clientX=1097, clientY=292 click clientX=1097, clientY=292 mousemove clientX=1096, clientY=293 ...
要补充一点,你也可以在Chrome中执行此操作:
Ctrl+ Shift+ I(开发人员工具)>源>事件侦听器断点(在右侧)。
你还可以通过右键单击元素,然后浏览其属性(右侧面板)来查看所有已附加的事件。
例如:
不知道它是否与firebug选项一样强大,但是对于我的大多数东西来说已经足够了。