ホームページ  >  記事  >  ウェブフロントエンド  >  複数のクラス名を持つ Web 要素を識別するには?

複数のクラス名を持つ Web 要素を識別するには?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-24 08:22:13680ブラウズ

How to Identify Web Elements with Multiple Class Names?

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

Web 開発では、特定の属性を持つ Web 要素を識別することは、効果的なテストの自動化にとって非常に重要です。ただし、Selenium @FindBy アノテーションは className 属性のスペース区切りの値をサポートしていないため、複数のクラス名を持つ要素には特有の課題が生じます。

代替ソリューション

XPath

XPath は要素を識別するための強力な代替手段を提供します複数のクラス名を持つ。 contains 関数を利用すると、指定したクラス名を含む要素を任意の順序で照合できます。例:

driver.findElement(By.xpath("//div[contains(@class, 'value')] and contains(@class, 'test')]"));

この XPath 式は、任意の

に一致します。クラス属性内の位置に関係なく、値クラスとテスト クラスの両方を持つ要素。

CSS セレクター

CSS セレクターは、要素を選択する柔軟な方法も提供します。複数のクラス名。 * ワイルドカード文字を使用すると、特定の文字列を含むクラス名と一致することができます。例:

driver.findElement(By.cssSelector("div[class*='value test']"));

この CSS セレクターは、任意の

を選択します。クラス属性に value と test の両方が任意の組み合わせで含まれる要素。

Custom Locator

XPath セレクターも CSS セレクターも満足のいく解決策を提供しない場合は、カスタム ロケーターを作成できます。 Selenium SearchContext インターフェイスを実装するクラス。これにより、カスタム基準に基づいて独自の要素識別ロジックを定義できます。

結論

XPath、CSS セレクター、またはカスタム ロケーターを活用することで、Web を効果的に識別できます複数のクラス名を持つ要素。各方法には独自の利点と制限があるため、適切なアプローチの選択は、テスト自動化フレームワークの特定の要件によって異なります。

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

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