鉴于以下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,因此我可以围绕愚蠢的双引号问题“特殊情况”(即黑客)。
良好的解决方案:标题标签的内容。
答案 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中看到它。