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
Lepaskan: 2024-11-05 01:13:02
asal
498 orang telah melayarinya

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>
Salin selepas log masuk

Untuk mendapatkan semula elemen ini menggunakan XPath, kami boleh memanfaatkan pertanyaan berikut:

//a[text()='SearchingText']
Salin selepas log masuk

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')]
Salin selepas log masuk

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;
Salin selepas log masuk

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!

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