Rumah >hujung hadapan web >tutorial js >Bagaimana Mengklik Elemen Berdasarkan Kandungan Teks Menggunakan Puppeteer?

Bagaimana Mengklik Elemen Berdasarkan Kandungan Teks Menggunakan Puppeteer?

Barbara Streisand
Barbara Streisandasal
2024-10-29 07:30:30411semak imbas

How to Click an Element Based on Text Content Using 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

bekas, gunakan ungkapan yang diubah suai ini:

"//div[@class='elements']/button[contains(., 'Button text')]"

Untuk melaksanakan tindakan klik:

const [button] = await page.$x(&quot;//div[@class='elements']/button[contains(., 'Button text')]&quot;);
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!

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