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

Selenium で複数のクラス名を持つ Div 要素を検索する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-27 06:26:10458ブラウズ

How to Find a Div Element with Multiple Class Names in Selenium?

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

Web 要素を操作する場合、クラス名を使用して要素をターゲットにすることが重要になる場合があります。ただし、Selenium の @FindBy アノテーションでは、className パラメーターに単一のクラス名のみを許可します。要素には複数のクラス名があることが多いため、これは制限となる可能性があります。

代替アプローチ

この制限を克服するには、次の代替案を検討してください。

1. xpath パラメータを使用する

XPath を使用すると、複雑な式を使用して要素を識別できます。クラスを正確に一致させるには、次の構文を使用できます:

@FindBy(xpath = "//div[@class='value test']")
@CacheLookup
private WebElement test;

2. XPath で contains(@class) を使用する

要素に指定されたクラス名の任意の組み合わせを含めることができる場合は、contains(@class) 式を使用できます:

@FindBy(xpath = "//div[contains(@class, 'value') and contains(@class, 'test')]")
@CacheLookup
private WebElement test;

3. CSS セレクターの利用

CSS セレクターは、複数のクラス名に基づいて要素をターゲットにする柔軟な方法を提供します。次の構文を使用すると、指定したクラス名の任意の組み合わせと要素を照合できます。

@FindBy(css = "div[class*='value test']")
@CacheLookup
private WebElement test;

XPath クラス マッチングについて

XPath のクラス マッチングに注意することが重要です。ルールは CSS セレクターとは若干異なります。完全一致が必要な場合は、[@class='value test'] を使用してください。要素をクラス名の任意の順序または組み合わせと一致させるには、[contains(@class, 'value') および contains(@class, 'test')] を使用します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。