ホームページ >ウェブフロントエンド >CSSチュートリアル >XPath を使用して CSS クラスによって HTML 要素を効率的に見つけるにはどうすればよいですか?

XPath を使用して CSS クラスによって HTML 要素を効率的に見つけるにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-24 05:47:21137ブラウズ

How Can I Efficiently Locate HTML Elements by CSS Class Using XPath?

XPath を使用した CSS クラスによる要素の検索

Web スクレイピングでは、CSS クラスに基づいて HTML 要素を見つけることが必要になることがよくあります。 XML および HTML ドキュメントをナビゲートするための強力なツールである XPath は、こ​​れを実現する方法を提供します。

「Test」という名前のクラスを持つ div 要素を含む HTML ページを考えてみましょう。次の XPath クエリを使用してこの要素を検索できます:

//*[contains(@class, 'Test')]

このクエリは、ドキュメント ツリー内のどこに表示されるかに関係なく、「Test」クラスを含むすべての要素を選択します。

パフォーマンスを最適化するために、検索を div などの特定の要素タイプに絞り込むことができます。たとえば、次のクエリは、検索を「Test」クラスを含む div に制限します:

//div[contains(@class, 'Test')]

ただし、「Testvalue」や「newTest」のようなクラスを持つ要素がある場合、上記のクエリは一致します。彼らも同様です。より正確な一致を保証するには、@Tomalak が提案しているように、「Test」クラスの前後にスペースを含む連結文字列を使用できます。

//div[contains(concat(' ', @class, ' '), ' Test ')]

このクエリは、単語を含む div のみに一致します。別のクラス値としての「テスト」。

空白の問題を排除するには、次のように、normalize-space 関数を使用してスペースを正規化することもできます。 @Terry:

//div[contains(concat(' ', normalize-space(@class), ' '), ' Test ')]

最後に、ドキュメント内のすべての要素を検索する場合を除き、これらのクエリ内のアスタリスク (*) を、一致させる実際の要素名に置き換えることが重要です。これにより、クエリの効率が向上します。

以上がXPath を使用して CSS クラスによって HTML 要素を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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