ホームページ >ウェブフロントエンド >CSSチュートリアル >Selenium で複数のクラス名を持つ Div 要素を検索する方法
複数のクラス名を持つ 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 サイトの他の関連記事を参照してください。