我正在开发的应用程序最近进行了改进,作为其中的一部分,引入了新的 JQuery 日历。我需要单击日历中的链接来选择时间和日期。但是,Selenium.click 不起作用。命令被执行,但屏幕上没有任何反应。
为了检查我的 XPATH/CSS 定位器(我都尝试过)是否正确,我添加了 selenium.getText(locator) 和 selenium.highlight(locator) 命令。两者都有效!没有问题。只有点击不起作用。
在检查 Firebug 后,我可以看到我尝试单击的 div 处于灰色状态。这是否意味着该元素已被禁用?请参阅下面的萤火虫屏幕截图。
我还尝试在 Selenium IDE 中运行相同的命令。在 IDE 中,这“有时”有效。
我正在使用 Selenium 1.xx 运行此测试。
UPDATE:
我还做了一件事
调试。在试运行过程中,我
在浏览器中打开Selenium IDE
以便它记录什么动作
正在发生。 IDE记录所有操作
直到这个点击。但我没能看到
单击时 IDE 中的任何内容
命令已执行。任何想法伙计们,
会是什么原因呢?
Has anyone faced a similar issue before? Any help would be appreciated!!!
Try selenium.fireEvent(locater, 'click')
,或者使用与浏览器集成更紧密的 Selenium 2。
您可能遇到与其他人相同的问题,例如。
Selenium 点击不适用于 GWT https://stackoverflow.com/questions/2185047/selenium-clicks-not-working-with-gwt
使用 Selenium“点击”非输入或非控制元素 https://stackoverflow.com/questions/5045006/using-selenium-to-click-on-non-input-or-non-control-elements
它似乎与用Javascript 添加的点击事件有关。
Edited
我不知道您是否使用相同的日历实现,但我发现 fullcalendar.js jQuery 替换了 mouseover 事件,并且您必须首先触发该事件。我让它工作使用
selenium.runScript("jQuery(\"a:contains('" + NEW_EVENT_NAME
+ "')\").trigger('mouseover');jQuery(\"a:contains('"
+ NEW_EVENT_NAME + "')\").trigger('click')");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)