CSSセレクタクラス属性の組み合わせの構文

クラスXの要素がたくさんある。

いくつかの要素はクラスY(すなわち、XとYの両方)

要素のセットを選択するには、部分的なクラス名を持つ X を持つだけですか?

以下は私の例のHTMLです

<td class="dxeCalendarDay_Office2010Blue dxeCalendarOtherMonth_Office2010Blue" savedcursor="[object Object]" style="cursor: pointer;">29</td>

<td class="dxeCalendarDay_Office2010Blue" savedcursor="[object Object]" style="cursor: pointer;">4</td>

私はそれらのすべてを選択することができた

By.cssSelector("[class^='dxeCalendarDay']");

クラスプレフィックス ” _Office2010Blue “は実行時に変更されます

しかし、 ” dxeCalendarOtherMonth …
“を持つ要素を除外する必要があります

おそらく…..のようなもの

 By.cssSelector("[class^='dxeCalendarDay'].Not:([class*='dxeCalendarOtherMonth'])");

正しい構文は何ですか?

ベストアンサー

クラス X を持ち、クラス Y
を持たないすべての要素を取りたいとします。コードは次のようになります:

By.cssSelector(".x:not(.y)")

たとえば、以下のhtmlの場合:

<div>
  <div class="x y">xy</div>
  <div class="x y z">xyz</div>
  <div class="x z">xz</div>
  <div class="x">x</div>
</div>

前述のセレクタは xzx を選択します。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です