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

これを直接行いましょう。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 に答える