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

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

Barbara Streisand
Lepaskan: 2024-12-25 15:25:13
asal
185 orang telah melayarinya

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

Mencari Elemen mengikut Kelas CSS Menggunakan XPath

Dalam pembangunan web, selalunya perlu untuk mencari elemen tertentu pada halaman web. Satu kaedah biasa untuk melakukan ini adalah melalui XPath, bahasa ekspresi yang direka khusus untuk menavigasi dokumen XML dan halaman web HTML. Satu tugas khusus yang kerap timbul ialah mendapatkan semula elemen mengikut kelas CSS mereka.

Masalah:

Pertimbangkan halaman web yang mengandungi elemen div dengan kelas CSS "Ujian." Bagaimanakah kita boleh mencari elemen ini dengan cekap menggunakan ungkapan XPath?

Penyelesaian:

Untuk mencari elemen menggunakan kelas CSSnya, kita boleh menggunakan pemilih XPath di bawah:

//*[contains(@class, 'Test')]
Salin selepas log masuk

Pemilih ini mencari sebarang elemen pada halaman yang mengandungi kelas "Ujian" dalam atribut "kelas"nya. Ia adalah ungkapan umum yang boleh memadankan mana-mana elemen dengan kelas yang ditentukan.

Walau bagaimanapun, jika kita tahu bahawa elemen khusus yang dimaksudkan ialah div, kita boleh mengoptimumkan lagi carian:

//div[contains(@class, 'Test')]
Salin selepas log masuk

Pertimbangan Lanjutan:

Walaupun pemilih di atas sepadan dengan kebanyakan kes, terdapat beberapa senario yang mungkin tidak tepat sepenuhnya. Sebagai contoh, mereka mungkin secara tidak sengaja memadankan elemen dengan atribut kelas yang mengandungi "Ujian" sebagai subrentetan separa. Untuk ketepatan yang lebih tinggi, pertimbangkan versi yang dioptimumkan berikut:

//div[contains(concat(' ', @class, ' '), ' Test ')]
Salin selepas log masuk

Versi ini memastikan bahawa rentetan padanan yang tepat ditemui dalam atribut "kelas" dengan menambah ruang di sekeliling nama kelas.

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

Versi ini menghapuskan lagi mana-mana aksara ruang kosong luar di sekeliling rentetan "Ujian" dengan menggunakan ruang normalize fungsi.

Terutamanya, nama elemen pilihan hendaklah digantikan dengan asterisk (*) dalam semua pemilih yang disediakan untuk mencari secara khusus untuk jenis elemen tersebut. Ini membantu mengecilkan carian dan meningkatkan kecekapan.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan