【问题标题】:Can't locate button with watir using firefox使用 firefox 找不到带有 watir 的按钮
【发布时间】:2014-12-22 17:57:54
【问题描述】:

尝试了多种变体。甚至使用 Testwise 3 记录器来看看它是否想出了一些不同的东西。出于某种原因,我无法等待单击此确定按钮。它只是一直在说 assert_exists :无法定位元素。我正在使用 Firefox 15。

$browser.button(:value,"OK").click

想法?

<TABLE  BORDER="0" CELLPADDING="1" CELLSPACING="4" summary="">
<TR>
<TD><INPUT TYPE="BUTTON" VALUE="OK"     onClick="javascript:buttonSubmit('OK')" CLASS="OraButton"></TD>
<TD><INPUT TYPE="BUTTON" VALUE="Cancel" onClick="javascript:buttonSubmit('CANCEL')" CLASS="OraButton"></TD>
</TR>
</TABLE>

【问题讨论】:

  • 这可能是因为开发人员出于某种原因在页面上重复了完全相同的块两次。因此,相同的 OK 和 CANCEL 按钮出现两次,具有相同的值。如果是这种情况,我如何告诉它只点击第一个匹配 value=OK 的?
  • 我也尝试使用索引识别第一个按钮,但仍然得到:C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir- webdriver/elements/element.rb:365:in assert_exists': unable to locate element, using {:index=&gt;1, :tag_name=&gt;"button"} (Watir::Exception::UnknownObjectException) from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/elements/element.rb:95:in click'

标签: ruby watir watir-webdriver testwise testwise-recorder


【解决方案1】:

看起来 watir-webdriver(或 selenium-webdriver)在查找输入的类型属性值时区分大小写。

我可以通过修复 HTML 来让它工作:

<INPUT TYPE="button" VALUE="OK" onClick="javascript:buttonSubmit('OK')" CLASS="OraButton">

或者使用 xpath 定位器:

$browser.button(:xpath, '//INPUT[@TYPE="BUTTON"]').click

【讨论】:

  • 非常感谢。那会花我一整天的时间来弄清楚。让我免于头疼。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多