使用Ruby Watir调用图像alt文本

时间:2015-04-08 08:55:02

标签: ruby watir

好的,我试图访问存储在图像库中的图像,点击图像库会弹出图像库并将图像插入到页面中。

图片的html是;

<img src="/uploads/images/thumbs/10.png?504" alt="Find Us" width="140" onclick="$('#removeButton', window.opener.document).show();
                                $('#myImgId', window.opener.document).show();
                                $('#imageHeadingID', window.opener.document).val('13');
                                $('#myImgId', window.opener.document).attr('src', '/uploads/images/thumbs/10.png');
                                window.close()">

作为一个注释,?504不是静态的,每次打开图像库时都会更改,所以我不能将它用作id值。

我依次尝试了以下几行代码,但都没有成功(从谷歌和堆栈溢出中收集)。

find("img[@alt='Find Us']").click
$browser.cell(:text => "Find Us").click
$browser.image(:src => /10/).click
$browser.image(:src => "/10.png").click
$browser.link(:text => "Find Us").click

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

尝试通过:alt识别:

$browser.image(:alt => "Find Us").click

但是,这很奇怪,原因,$browser.image(:src => /10/).click - 也必须有效。

答案 1 :(得分:0)

我同意Alex和Justin使用src应该有效,但是

您是否尝试过使用XPath?

browser.img(:xpath => "/html/.../img").click

这样的东西

通过右键单击图像,可以非常轻松地使用Chrome获取XPath - &gt;检查元素 - &gt;然后右键单击已打开的开发人员工具中的相关HTML行。如果图像始终位于页面上的相同位置(无论src中的任何更改),此方法都应该有效。