8

私は2つの可能なdivを持っています。

<div class='a b'></div>

<div class='c d'></div>

div要素に2つのクラスaとbがあるかどうかを確認する方法はありますか?

要素の選択にはRuby、Capybara、XPathを使用していますが、cssで問題が解決できれば問題ありません。

4

3 に答える 3

7

この css セレクターはカピバラで動作するはずです:

page.has_css?('div.a.b')

どちらが一致しますか

<div class="a b">だがしかし<div class="a">

于 2012-07-31T17:55:26.187 に答える
5

あなたはこれを行うことができます :

page.should have_css('div.a.b')

rspec を使用しない場合は、次のようになります。

page.has_css?('div.a.b')
于 2012-07-31T17:54:18.727 に答える
2

XPath ソリューション:

使用:

div[contains(concat(' ', @class, ' '), ' a ')
  and
    contains(concat(' ', @class, ' '), ' b ')
   ]

これにより、属性にクラスとの両方が含まれるコンテキスト ノードの任意divの子が選択されます。class"a""b"

class選択した任意の属性にdivこれら 2 つのクラスだけが含まれ、他のクラスが含まれていないことが必要な場合は、次を使用します。

div[contains(concat(' ', @class, ' '), ' a ')
  and
    contains(concat(' ', @class, ' '), ' b ')
  and
    string-length(normalize-space(@class)) = 3
   ]
于 2012-08-01T05:08:05.730 に答える