Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya boleh menggunakan XPath untuk mencari elemen HTML berdasarkan teks dalamannya?

Bagaimanakah saya boleh menggunakan XPath untuk mencari elemen HTML berdasarkan teks dalamannya?

Patricia Arquette
Patricia Arquetteasal
2024-11-05 01:13:02543semak imbas

How can I use XPath to find HTML elements based on their inner text?

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!

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