如何解决Selenium IDE-未触发JQuery onclick处理程序
| 我正在尝试使用FF Selenium IDE插件测试页面。 菜单结构如下。<ul class=\"parent\">
<li class=\"child\"><span><a href=\"something.html\">link text</a></span></li>
<li class=\"child\"><span><a href=\"somethingelse.html\">other text</a></span></li>
<ul>
li元素具有绑定到它们的悬停事件。这些悬停事件会在实际链接标记上注册一个click事件。 (为简化起见,我删除了一些JavaScript)
var menu = $(\'ul.parent\');
$(\"> li.child\",menu).hover(function () {
$(this).find(\'> a\').click(function () {
$(this).parent().addClass(\'active-trail\');
return false;
});
},function() {});
如果使用Selenium,则单击这些链接之一,然后希望处理程序被调用。并非如此,只需执行点击即可(然后点击链接,而不是返回false)。
我已经尝试过(在阅读了其他答案之后)mouseUp和mouseDown。我也尝试过使用fireEvent首先将鼠标悬停在li上(以激活悬停事件),然后再使用另一个fireEvent单击锚点。但是那也不起作用。
因此,任何帮助将不胜感激。只是使用Selenium触发jquery提供的单击处理程序的基本演示就足以使我明白!
谢谢,
帕特里克
解决方法
您对
fireEvent()
的理解是正确的,确定使用对吗?
如果要解雇onClick
处理程序,则应执行fireEvent(locator,\"click\")
而不是fireEvent(locator,\"onClick\")
。
如果您正在使用Selenium IDE生成脚本,那么您可能做对了。
硒在这个领域有点躲闪,我也有很多类似的问题。
,您是否尝试过使用xpath即
selenium.Click(\“ xpath = / descendant :: li [contains(。,\” something \“)] [2] / x:a \”)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。