1

我正在尝试使用 Watir 完成重复性任务,但我遇到了困难,需要您的帮助。我有以下按钮代码:

<button class="ppm_button " onclick="submitForm('page','more=1');" type="button">
  <img border="0" align="absmiddle" title="Add and Select More" alt="Add and Select More" style="width: 11px; height: 8px; background: url("ui/uitk/images/nde.png") no-repeat scroll 0px 0px transparent;" src="ui/uitk/images/s.gif" >
  &nbsp;Add and Select More
</button>

我尝试使用firebug获取xpath并使用相同的xpath在ff上运行脚本,它失败了。我很难给出适当的 xpath 来识别对象。

任何帮助将不胜感激。

4

3 回答 3

4

你应该能够避免xpath。

尝试使用 Watir 选择器,例如:

b.img(:src => "ui/uitk/images/s.gif")

然后,您应该能够将您想要对元素执行的任何操作附加到末尾,例如.click

这超出了https://github.com/watir/watir/wiki/HTML-Elements-Supported-by-Watir上的可用属性,但我不确定您使用的是什么版本的 Watir,或者如何迄今为止,该列表是。

根据它,您还可以使用:

b.img(:alt => "Add and Select More")
于 2012-04-25T14:23:29.043 回答
2

我会避免使用 xpath,除非其他方法都不起作用,与其他识别所需元素的方法相比,它往往会生成丑陋且难以阅读的代码。

我认为@anonygoose 应该可以工作,但是如果没有其他尝试的方法是单击按钮本身,可以按如下方式完成(注意我假设您要单击按钮,否则将 .click 替换为一些其他适当的方法)

browser.button(:class => 'ppm_button ').click

或者

browser.button(:text => /Add and Select More/).click

或者如果出于某种奇怪的原因,这些都不起作用,您可以使用其中之一

browser.img(:src => "ui/uitk/images/s.gif").parent.click

browser.img(:alt => "Add and Select More").parent.click

如果这些都不适合您,请编辑您的问题并包括您尝试过的问题以及您得到的信息。

于 2012-04-25T19:28:28.020 回答
0

这个应该工作!

browser.img(:src => "url of the base image").parent.click. 只需提及缩略图使用的图像的 url(在检查元素中)。

于 2017-01-19T16:04:59.087 回答