在span类的html中解析类名

时间:2012-11-19 12:34:44

标签: ruby watir watir-webdriver

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

使用watir-webdriver。

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

例如:

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

目前我正在尝试解析使用.html

中的信息

所以这就像我到目前为止解析的那样

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

我只想退回limeGreen所以我可以说:

color = resultOfParsedSpan

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

如果我没有详细解释,请随时告诉我,以便我可以添加更多信息!

2 个答案:

答案 0 :(得分:2)

Watir让你直接这样做;您不需要自己手动解析HTML。 Element#class_name方法将为您提供元素的类。

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

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

由此,您必须解析字符串以确定它是什么颜色。鉴于类可能是任何顺序和无限数量的可能颜色,我不相信有一般方法来获得颜色。解决方案取决于您对color的要求以及是否提前知道可能的颜色。

答案 1 :(得分:1)

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

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

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