【发布时间】:2014-08-11 09:40:19
【问题描述】:
我正在尝试通过使用类“menu-item-text”迭代少数跨度来找到导航链接。我的目标是比较 span 标签内的内容,看看它是否是正确的导航控件来点击(没有硬 id 可以通过。)我的代码是这样的:
navlinks = @browser.spans(:class, 'menu-item')
navlinks.each do |this|
puts "'#{this.text}'"
if this.text == link_name
this.click
break
end
我确定我得到了正确的元素。但是,文本始终是一个空字符串。我的第二个想法是使用 .html 而不是 .text,但这会返回如下内容:
<span class="menu-item">Insights</span>
我想要的是 span 内的“Insights”文本,而不是包含标签标记的完整 html。我也尝试过使用 this.span.text,但也没有用。
如何通过 watir 的内容抓取方法专门针对元素的内部 html?
谢谢!
【问题讨论】:
-
这些导航跨度(链接)是否是一种下拉菜单,它们仅在某些条件下可见(例如,鼠标悬停在父项上)?
.text方法只返回可见文本。鉴于它返回一个空字符串表明该元素实际上是不可见的。 -
大部分是——它们是标题导航控件的一部分。大约有十几个,其中三个在我要离开的页面上不可见,但遍历它们中的任何一个都会返回 .text 的空字符串。
-
这是相当出乎意料的。您是否有机会共享页面或足够的 html 来重现问题?