html – Selenium点击不起作用,但鼠标没有

任何人都可以解释为什么/如何在Selenium IDE中,对于我想要点击的项目,点击不起作用,但是在同一个目标上使用mouseOver,mouseDown,mouseUp和mouseOut确实有效.我甚至试图使用上面的多个,例如:

waitForElementPresent
mouseDown
mouseOver
mouseDown
click
mouseOut

当使用点击不起作用时,这设法为我工作.我似乎也没有得到任何错误,也不知道该怎么做.任何帮助表示赞赏.

更新:
我点击了Selenium IDE中的Find按钮,它突出显示了上面所有6个命令的元素,但是当我运行任何命令或案例时,它实际上从未实际点击它.

最佳答案 点击那里有各种各样的实现,

有些人使用Javascript来监听鼠标按下事件,有些人使用鼠标按下或点击或鼠标悬停在他们实现为可点击元素的div或td上,然后JS开始工作,你得到预期的点击动作,

因此,没有一个正确的事件你应该启动,而是全部测试或全部执行,

我使用以下命令,它适用于大多数不能使用简单的“单击”命令的元素:

    <tr>
    <td>focus</td>
    <td>//div[@class='dhtmlx_wins_btns_button dhtmlx_button_close_over_pressed']</td>
    <td></td>
</tr>
<tr>
    <td>mouseOver</td>
    <td>//div[@class='dhtmlx_wins_btns_button dhtmlx_button_close_over_pressed']</td>
    <td></td>
</tr>
<tr>
    <td>mouseMoveAt</td>
    <td>//div[@class='dhtmlx_wins_btns_button dhtmlx_button_close_over_pressed']</td>
    <td></td>
</tr>
<tr>
    <td>mouseDown</td>
    <td>//div[@class='dhtmlx_wins_btns_button dhtmlx_button_close_over_pressed']</td>
    <td></td>
</tr>
<tr>
    <td>mouseDownAt</td>
    <td>//div[@class='dhtmlx_wins_btns_button dhtmlx_button_close_over_pressed']</td>
    <td></td>
</tr>
<tr>
    <td>clickAt</td>
    <td>//div[@class='dhtmlx_wins_btns_button dhtmlx_button_close_over_pressed']</td>
    <td>0,0</td>
</tr>

你可以尝试更多的事件,直到它工作,如果你仍然遇到问题,那么确保你的元素路径是正确的(使用selenium firefox IDE并在FireBug打开时按“查找”按钮,它将着色元素和它的Html代码黄色发光颜色,以确保元素路径正确),

另一个技巧是右键单击该元素并单击“等待文本…”并将该命令的路径复制到我之前说过的单击和其他命令

如果要隐藏的元素是隐藏的(例如浮动图层html),那么你可以更改其属性display:none to display:block in the firebug(temporary),这样你就可以使用右键技巧来提取确切的路径

点赞