私のレールアプリケーションでnokogiri gemを使用してhtmlノードを取得しています。私はクラスでクラスを取得しています。しかし、そのクラス名は時々変わるでしょう。Nokogiri - 正規表現でクラスとdivを取得する
doc.css("div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")
が、「X15」とは、例えば、「X13」することができる:例えば、今私はこのようにそれを取得しています。私はこのような何かができる:
doc.css("div.t.m0.x13.h3.ff2.fs1.fc0.sc0.ls0.ws1", "div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")
これは動作しますが、私はそれはX14が来るので、もし、私はそれを維持する必要はありません、X13-X15のように、範囲を設定することがよりよいことだと思いますとても冗長です。
どのようにすればいいですか?ありがとう!
EDIT:
私は「×*」クラスを削除することはできません、「どのような違い2つの要素を 『X』クラスである別のクラスと同じなので、持つ別のdivがあります原因。もう1つはxa、xbです。私が得ようとしているのはx13、x15です。
'doc.css(" div.t.m0.h3.ff2.fs1.fc0.sc0.ls0.ws1 ")' x13'または 'x15')、選択した要素に' x \ d \ d'クラスがあるかどうかを確認します。 – GolfWolf
変更の影響を受けていないセレクタでdivをターゲティングすることはできますか?マークアップはどのように見えますか?なぜクラスは変わるのですか? _ "x15はx13にすることができます" _少し恣意的なようです。 – Stefan
その人はできません、質問を更新しました。 x *クラスを削除するともう一つの要素があります –