1

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

使用 Watir-webdriver。

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

例如:

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

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

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

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

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

color = resultOfParsedSpan

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

如果我解释得不够好,请随时告诉我,以便我添加更多信息!

4

2 回答 2

2

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

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

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

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

于 2012-11-19T14:26:40.720 回答
1

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

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

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

于 2012-11-19T12:51:44.150 回答