ホームページ > ウェブフロントエンド > CSSチュートリアル > 複数の CSS クラスを持つ Web 要素を識別する方法

複数の CSS クラスを持つ Web 要素を識別する方法

Mary-Kate Olsen
リリース: 2024-11-24 01:03:15
オリジナル
812 人が閲覧しました

How to Identify Web Elements with Multiple CSS Classes?

複数の CSS クラスを持つ Web 要素の識別

@FindBy を使用して複数の CSS クラスを持つ Web 要素を識別する際に問題が発生しました注釈。コード例は className = "value test" の使用を示していますが、これは CSS クラス名をスペースで区切ることができるという事実を考慮していません。

XPath Matching Strategies

目的の要素を見つけるために XPath を使用することを検討してください。 XPath を使用すると、クラス名などの特定の基準に基づいて要素を照合できます。考慮すべき XPath マッチング戦略をいくつか示します。

  • 完全一致:
driver.findElement(By.xpath("//div[@class='value test']"));
ログイン後にコピー

この XPath 式は完全一致を保証し、指定されたクラスの「value」クラスと「test」クラスの両方を持つ要素を検索しますorder.

  • クラスの内容:
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
ログイン後にコピー

この式は、関係なく、「value」クラスと「test」クラスの両方を含む要素と一致します。

  • 個別クラス一致:
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
ログイン後にコピー

この式は、要素が「value」クラスと「test」クラスの両方を持つことを保証しますが、特定の順序は強制しません。

代替としての CSS セレクター

XPath に加えて、CSSセレクターを使用して、複数のクラス名に基づいて要素を見つけることもできます。次の CSS セレクター式を考えてみましょう:

  • 完全一致:
driver.findElement(By.cssSelector("div[class='value test']"));
ログイン後にコピー
  • クラス部分文字列一致:
driver.findElement(By.cssSelector("div[class*='value test']"));
ログイン後にコピー
  • 個別クラスの一致:
driver.findElement(By.cssSelector("div.value.test"));
ログイン後にコピー

結論

XPath セレクターを使用する場合でも、CSS セレクターを使用する場合でも、要素を正確に識別するために、一致基準を慎重に検討することをお勧めします。要素に複数のクラスがある場合、前述の手法のいずれかを使用すると、目的の Web 要素を効果的に見つけることができます。

以上が複数の CSS クラスを持つ Web 要素を識別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート