XPath: Alat Berkuasa untuk Mendapatkan Elemen Berdasarkan Teks Dalaman
Mencari elemen tertentu dalam halaman HTML boleh menjadi tugas penting apabila bekerja dengan kandungan web. Satu senario biasa ialah mengenal pasti elemen berdasarkan teks yang terkandung di dalamnya. Untuk mencapai matlamat ini, XPath, bahasa berkuasa yang direka untuk menavigasi dokumen XML, menawarkan penyelesaian yang berkesan.
Mencari Elemen dengan Teks Dalaman Tepat
Pertimbangkan coretan HTML dengan satu tag yang mengandungi teks "SearchingText":
<a ...>SearchingText</a>
Untuk mendapatkan semula elemen ini menggunakan XPath, kami boleh memanfaatkan pertanyaan berikut:
//a[text()='SearchingText']
Ungkapan ini menavigasi pepohon dokumen, mencari sebarang < ;a> tag yang mengandungi teks tepat "SearchingText." Fungsi text() dalam kurungan segi empat sama membandingkan kandungan teks elemen dengan rentetan yang ditentukan.
Mengendalikan Padanan Teks Separa
Dalam kes tertentu, anda mungkin perlu cari elemen yang mengandungi padanan separa teks yang diberikan. Sebagai contoh, untuk mencari elemen yang mengandungi teks "Mencari":
//a[contains(text(),'Searching')]
Di sini, fungsi contains() menilai jika kandungan teks elemen termasuk subrentetan yang disediakan. Pendekatan ini membolehkan carian yang lebih luas, menangkap elemen yang mungkin mengandungi teks tambahan.
Menggunakan XPath dalam JavaScript
Mengintegrasikan XPath dengan JavaScript menyediakan pendekatan yang mudah untuk memanipulasi HTML secara dinamik dokumen. Untuk menunjukkan perkara ini, pertimbangkan kod JavaScript berikut:
var xpath = "//a[text()='SearchingText']"; var matchingElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
Kod ini memberikan pertanyaan XPath kepada pembolehubah xpath dan kemudian menggunakan kaedah document.evaluate() untuk melaksanakan pertanyaan terhadap objek dokumen. Hasilnya disimpan dalam pembolehubah matchingElement, menyediakan akses kepada elemen dengan teks dalam yang ditentukan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan XPath untuk mencari elemen HTML berdasarkan teks dalamannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!