繁体   English   中英

Watir获得INNER的HTML

[英]Watir get INNER html of <span>

我正在尝试通过对类'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>

我想要的是跨度内的“ Insights”文本,而不是包含标签标记的完整html。 我也尝试过使用this.span.text,但这也不起作用。

如何通过watir的内容获取方法专门定位元素的内部html?

谢谢!

假设您使用的是Watir-Webdriver v0.6.9或更高版本,则添加了inner_html方法来获取内部HTML。

对于跨度:

<span class="menu-item">Insights</span>

您可以这样做:

@browser.span(:class => 'menu-item').inner_html
#=> "Insights"

同样,您可以尝试在循环中使用此方法,而不是.text

请注意,根据文本的唯一性,您也许可以简单地检查文本是否出现在元素的(外部)html中:

@browser.spans(:class => 'menu-item', :html => /#{link_name}/).click

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM