0

我 在Firefox 12上使用Selenium IDE 1.8.1。我们的一个应用程序使用基于“Yahoo UI”的按钮,当我尝试单击它们时,我一直看到与 Selenium 不一致的结果。例如,单击此按钮(input id="submitButton")应该会弹出一个模式对话框——大约有一半的时间提交数据但模式对话框从不弹出。我正在使用命令: click | css=#submitButton |

<input id="icdParticipantAddressForm_icdParticipantId" type="hidden" value="1022" name="icdParticipantId">
<input id="submitButton" class="saveButtonImage" type="submit" onclick="return YAHOO.ourAddress.avwController.verifyAddresses();" title="save" value="Next" style="float:right;">
<a href="/url?icdParticipantId=1022>

谢谢大家!PS我也试过 fireEvent | css=#submitButton | click同样的结果

4

1 回答 1

0

如果您根本无法访问它;我会假设它是隐藏的(在框架后面?)。每次运行测试时都会遇到“不一致”的事实让我相信你有超时问题。查看您收到的错误消息将很有用。

获得所需按钮的最佳方式是通过 XPATH;将下面的代码复制粘贴到试图找到按钮的代码部分。

driver.find_element(:xpath, "//input[@id='submitButton']")

再次运行测试,看看这是否有帮助。如果不尝试下面的改进代码,它将覆盖您,以防页面需要时间加载(即您的按钮尚不可用)。

!30.times { if (driver.find_element(:xpath, "//input[@id='submitButton']") rescue false) then break else sleep 1; end } 
于 2012-06-29T14:02:21.650 回答