如何获得Watir中的图像标题属性?

时间:2010-10-16 22:29:14

标签: watir

鉴于以下HTML代码(我意识到,这很糟糕,但这不是我目前可以解决的问题):

<img height="64" width="64" class='list_item' src="/img/icon/first.jpg" 
title="This is the first item::Completed the item "I did this first"" alt="First" />

给我一​​个结果(这是一个image.to_s)

name:
type:
id:
value:
disabled:
src:          /img/icon/first.jpg
width:        64
height:       64
alt:          First

注意缺少“标题”元素。这实际上并没有改变(缺少标题元素)

如果我得到其中一个图标的父div的内容,我会得到类似的内容:

<img class="list_item" I="" did="" this="" first="" src="/img/icon/first.jpg" alt="First">

原版的破坏HTML已经在某个地方变成了单独的属性,但是标题标签似乎已被完全剥离,因为它是我需要的标题标签的内容,所以我有点卡住了。

使用Firefox在Ruby 1.9.2上尝试了最新的Watir。

完美的世界解决方案:我想获取图像标签的原始传输HTML,因此我可以围绕愚蠢的双引号问题“特殊情况”(即黑客)。

良好的解决方案:标题标签的内容。

3 个答案:

答案 0 :(得分:2)

Watir :: Image实际上有一个#title方法。使用上面不正确的HTML,输出将是这样的(其中'i'是Image对象):

i.title
=> "This is the first item::Completed the item "

这只显示标题的一部分。

但你可以使用#html,然后用一些魔法解析所有必要的信息:

i.html
=> "<IMG class=list_item title=\"This is the first item::Completed the item \" alt=First src=\"/img/icon/first.jpg\" width=64 height=64 first?? this did I>"

但正如上面提到的其他答案一样 - 由于HTML不好,你无法正确解决问题。也许还有其他方法可以实现你所拥有的更大目标吗?

答案 1 :(得分:0)

获取标题可能不起作用,因为在该元素上设置title属性的方式无效。实体“和&lt;和&gt;需要在html属性中转义,使用”和&lt;和&gt;分别。转义引号,然后重试。

答案 2 :(得分:0)

不确定,但我认为Watir不支持图片标题。我查看了Supported Elements page,标题被x出了。我也没有在RDoc for Watir::Image type中看到它。