Selenium-webdriver系列教程(12)————fire event的替代方案
webdriver里面已经没有了fire_event方法,就像世界上再也没有萨达姆,本拉登和卡扎菲一样。
不过我们可以通过其他方法来实现fire_event的相似功能。
考虑下面的html,当鼠标悬停到Mouse Over Here链接上时,js的mouseover事件被触发,show_tips()函数将被执行,隐藏的tips div会显示在页面上。
<html> <head> <title>FireEvent</title> <style> .mo {color: blue;} .tips {display:none;border: 1px solid #ccc; background-color:#EFEFEF;width: 100px;height:100px} </style> <script> function show_tips(){ document.getElementById("t").style.display = "block"; } function hide_tips(){ document.getElementById("t").style.display = "none"; } </script> </head> <body> <a class = "mo" href = "#" onmouseover = "show_tips()" onmouseout = "hide_tips()">Mouse Over Here</a> <div id = "t" class = "tips">This is the tips of link</div> </body></html>
require 'rubygems'require 'selenium-webdriver'dr = Selenium::WebDriver.for :firefoxselect_file = 'file:///'.concat File.expand_path(File.join(File.dirname(__FILE__), 'fire_event.html'))dr.navigate.to select_filem = dr.find_element(:css => '.mo')10.times dodr.action.move_to(m).performend
js = %q[show_tips();]dr.execute_script js1 楼 uniquepig 2012-03-20 java版本的action 貌似需要显示的实例化。