【问题标题】:Parsing class name in html of span class在跨度类的html中解析类名
【发布时间】:2012-11-19 22:26:40
【问题描述】:

我正在检查值的结果以验证它们是否正确。

使用 watir-webdriver。

在这种情况下,javascript 会生成一个颜色类:

例如:

<span class="storyEdit limeGreen"> x </span>

在 ruby​​ 中,我目前正在尝试从 using .html 解析信息

所以这就是我目前所解析的内容

=> <span class=\"storyEdit limeGreen\"> x </span>

我只想返回limeGreen,所以我可以说:

color = resultOfParsedSpan

这将用于几种不同的颜色,所以我想知道有没有办法只从 html 中提取类名?

如果我解释得不够清楚,请随时告诉我,以便我补充更多信息!

【问题讨论】:

    标签: ruby watir watir-webdriver


    【解决方案1】:

    Watir 让您直接执行此操作;您不需要自己手动解析 HTML。 Element#class_name 方法将为您提供元素的类。

    示例(假设是第一个跨度):

    browser.span.class_name
    #=> "storyEdit limeGreen"
    

    因此,您必须解析字符串以找出它是什么颜色。鉴于这些类可能按任何顺序排列并且可能有无数种颜色,我不相信有一种通用的方法来获取颜色。解决方案取决于您想对 color 做什么以及是否提前知道可能的颜色。

    【讨论】:

      【解决方案2】:

      嗯,一个快速的方法是这样的:

      span = '<span class="storyEdit limeGreen"> x </span>'
      color = $1.split.last if span =~ /class="(.*)"/
      

      但通常最好使用一些 html 解析库来处理这类事情,例如 nokogirihpricot

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-24
        • 2014-06-30
        • 2014-10-26
        • 2017-01-09
        • 1970-01-01
        • 1970-01-01
        • 2010-11-21
        • 2012-09-14
        相关资源
        最近更新 更多