Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Mengesan Elemen HTML dengan Cekap oleh Kelas CSS Menggunakan XPath?

Bagaimanakah Saya Boleh Mengesan Elemen HTML dengan Cekap oleh Kelas CSS Menggunakan XPath?

DDD
DDDasal
2024-12-24 05:47:21164semak imbas

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

Mencari Elemen mengikut Kelas CSS Menggunakan XPath

Dalam mengikis web, selalunya perlu untuk mencari elemen HTML berdasarkan kelas CSS mereka. XPath, alat yang berkuasa untuk menavigasi dokumen XML dan HTML, menyediakan cara untuk mencapainya.

Pertimbangkan halaman HTML dengan elemen div yang mempunyai kelas bernama "Ujian." Pertanyaan XPath berikut boleh digunakan untuk mencari elemen ini:

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

Pertanyaan ini memilih semua elemen yang mengandungi kelas "Ujian", tidak kira di mana ia muncul dalam pepohon dokumen.

Untuk mengoptimumkan prestasi, anda boleh mengecilkan carian kepada jenis elemen tertentu, seperti div. Sebagai contoh, pertanyaan berikut akan mengehadkan carian kepada div yang mengandungi kelas "Ujian":

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

Walau bagaimanapun, jika anda mempunyai elemen dengan kelas seperti "Nilai Ujian" atau "Ujian baharu," pertanyaan di atas akan sepadan mereka juga. Untuk memastikan padanan yang lebih tepat, anda boleh menggunakan rentetan bercantum yang mengandungi ruang sebelum dan selepas kelas "Ujian", seperti yang dicadangkan oleh @Tomalak:

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

Pertanyaan ini hanya akan sepadan dengan div yang mempunyai perkataan "Uji" sebagai nilai kelas yang berasingan.

Untuk menghapuskan sebarang isu ruang kosong, anda juga boleh menormalkan ruang menggunakan fungsi normalize-space, seperti yang dicadangkan oleh @Terry:

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

Akhir sekali, adalah penting untuk menggantikan asterisk (*) dalam pertanyaan ini dengan nama elemen sebenar yang anda mahu padankan, melainkan anda ingin mencari semua elemen dalam dokumen. Ini akan meningkatkan kecekapan pertanyaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Elemen HTML dengan Cekap oleh Kelas CSS Menggunakan XPath?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn