【发布时间】:2011-03-31 00:47:47
【问题描述】:
我对 Watir 很陌生。
我有一些 Ruby/Watir 代码应该检测一个元素是否存在,如果存在,请单击它,如果不存在,请单击另一个元素。两种元素,每次都会出现。不幸的是,我没有尝试过任何工作。
if browser.contains_text("/media/images/icons/reviewertools/editreview.jpg")
then browser.image(:src => "/media/images/icons/reviewertools/editreview.jpg").click
else browser.image(:src => "/media/images/icons/reviewertools/savereview.jpg").click
end
这最终会失败并显示“无法定位元素,使用 {:src=>”/media/images/icons/reviewertools/savereview.jpg"} (Watir::Exception::UnknownObjectException)”
它应该点击了/editreview.jpg,这是可见的。
我也试过了:
if browser.image("/media/images/icons/reviewertools/savereview.jpg").exists
then browser.image(:src => "/media/images/icons/reviewertools/savereview.jpg").click
还有:
if browser.image("/media/images/icons/reviewertools/savereview.jpg").exists?
请注意,这些情况均未检测到元素,否则,执行 else 子句。
如果您回复,请提供具体的代码示例以供您提出建议。
【问题讨论】:
-
对于您尝试过但没有成功的事情,发生了什么?您是否收到错误消息,如果有,那是什么?当您提出问题时,提供具体信息会有所帮助,而不仅仅是“没用”它如何没用通常是有价值的信息,
-
另外,如果您希望我们为您提供具体的代码示例,请提供具体的 HTML 示例。除非我们看到 HTML,否则我们无法提供除了猜测之外的代码示例。如果您希望人们为您编写代码,那么您至少可以向他们提供他们正在编码的 HTML。否则最多只能期待猜测或一般建议。 (这里没有人为你编写代码)