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:
//div[contains(concat(' ', @class, ' '), ' Test ')]
このクエリは、別のクラスとして単語「Test」を持つ div のみに一致します。 value.
空白の問題を排除するには、@Terry:
//div[contains(concat(' ', normalize-space(@class), ' '), ' Test ')]
最後に、これらのアスタリスク (*) を置き換えることが重要です。ドキュメント内のすべての要素を検索する場合を除き、照合する実際の要素名を使用してクエリを実行します。これにより、クエリの効率が向上します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3