Watir:识别图像按钮

时间:2012-04-25 13:43:41

标签: xpath watir watir-webdriver

我正在尝试使用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来识别对象。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分: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")

答案 1 :(得分:2)

我会避免使用xpath,除非其他方法无效,但与其他识别所需元素的方法相比,它往往会使代码变得丑陋且难以阅读。

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

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

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

答案 2 :(得分:0)

这个应该有效!

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