Rumah >hujung hadapan web >tutorial js >Bagaimana Mengklik Elemen Berdasarkan Kandungan Teks Menggunakan Puppeteer?
Mengklik Elemen dengan Teks Menggunakan Puppeteer
Cabaran: Mencari dan mengklik elemen berdasarkan teksnya semata-mata kandungan.
Pertimbangkan coretan HTML berikut:
<code class="html"><div class="elements"> <button>Button text</button> <a href="#">Href text</a> <div>Div text</div> </div></code>
Objektif: Laksanakan tindakan klik pada elemen butang yang mengandungi "Teks butang."
Penyelesaian:
Ekspresi XPath di bawah mengenal pasti butang yang mengandungi teks yang diingini:
"//button[contains(., 'Button text')]"
Walau bagaimanapun, untuk memastikan keserasian dengan
"//div[@class='elements']/button[contains(., 'Button text')]"
Untuk melaksanakan tindakan klik:
const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]");
if (button) {
await button.click();
}
Penjelasan:
Menggunakan .contains(. , 'Teks') dan bukannya .contains(text(), 'Teks') Ekspresi XPath memastikan ia termasuk nod anak, dengan itu tidak mengecualikan nod teks lebih dalam dalam struktur elemen.
Atas ialah kandungan terperinci Bagaimana Mengklik Elemen Berdasarkan Kandungan Teks Menggunakan Puppeteer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!