Mencari Elemen dengan Padanan Teks Separa dalam Selenium WebDriver (Python)
Masalah:
Pengguna Selenium WebDriver sering menghadapi kesukaran apabila mencari elemen menggunakan teks tertentu. Persoalan timbul apabila berurusan dengan senario di mana teks mungkin tidak sensitif huruf besar atau padanan separa dalam kandungan elemen.
Amalan Terbaik:
Untuk mencari elemen berdasarkan pada padanan teks separa, pertimbangkan amalan berikut:
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
Ekspresi XPath ini mencari elemen di mana-mana sahaja dalam dokumen di mana teks mengandungi rentetan yang ditentukan.
<code class="python">driver.find_elements_by_css_selector("div:contains('My Button')")</code>
Begitu juga, pemilih CSS dengan pengendali 'mengandungi' boleh digunakan untuk mencari elemen dengan padanan teks separa dalam pemilih yang ditentukan.
Mengatasi Isu Bersarang:
Untuk mengelak daripada mencari elemen induk yang mengandungi teks yang diingini, adalah mungkin untuk menapis carian menggunakan perhubungan ibu bapa-anak:
<code class="python">driver.find_elements_by_xpath("//div[contains(text(), 'My Button') and not(parent::div[contains(text(), 'My Button')])]")</code>
Ungkapan XPath ini memastikan bahawa hanya elemen yang sepadan dengan kriteria ditemui, sambil mengecualikan sebarang elemen induk yang mungkin mengandungi unsur yang sama teks.
Pertimbangan Prestasi:
Apabila mencari elemen dengan padanan teks separa, adalah penting untuk mempertimbangkan implikasi prestasi, terutamanya apabila berurusan dengan sejumlah besar elemen pada halaman tersebut. Menggunakan pemilih CSS atau ungkapan XPath dengan parameter khusus dan cekap boleh membantu meminimumkan masa yang diambil untuk operasi carian.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen dengan Padanan Teks Separa dalam Selenium WebDriver (Python)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!