我正在尝试使用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" >
Add and Select More
</button>
我尝试使用firebug获取xpath并使用相同的xpath在ff上运行脚本,但它失败了。我很难给出适当的xpath来识别对象。
非常感谢任何帮助。
答案 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元素中)。