Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengelakkan Isu Pemilih Apabila Mengklik Butang dengan Selenium dalam Python?

Bagaimana untuk Mengelakkan Isu Pemilih Apabila Mengklik Butang dengan Selenium dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-22 14:43:03171semak imbas

How to Avoid Selector Issues When Clicking Buttons with Selenium in Python?

Butang Klik dengan Selenium dalam Python

Apabila cuba mengautomasikan klik butang menggunakan Selenium dalam Python, adalah penting untuk memastikan pengecaman elemen yang tepat. Dalam struktur HTML yang disediakan, dua butang wujud dengan nama kelas yang serupa. Untuk menyasarkan elemen ini dengan cekap, adalah penting untuk menentukan pemilih CSS dengan betul.

Satu isu yang berpotensi dalam percubaan anda mungkin ialah ruang kosong antara nama kelas dalam pemilih:

<code class="python">driver.find_element_by_css_selector('.button .c_button .s_button').click()</code>

Pemilih ini menentukan nama kelas individu dipisahkan oleh ruang, yang mungkin tidak sepadan dengan struktur HTML dengan tepat.

Penyelesaian: Alih keluar ruang antara nama kelas dalam pemilih CSS:

<code class="python">driver.find_element_by_css_selector('.button.c_button.s_button').click()</code>

Dalam pemilih yang diubah suai ini, kelas digabungkan tanpa pemisahan, memastikan padanan yang tepat dengan atribut kelas elemen HTML.

Contoh:

<code class="python"># Click the "Search" button
search_button = driver.find_element_by_css_selector('.button.c_button.s_button[onclick="submitForm(\'mTF\')"]')
search_button.click()

# Click the "Reset" button
reset_button = driver.find_element_by_css_selector('.button.c_button.s_button[onclick="submitForm(\'rMTF\')"]')
reset_button.click()</code>

Dengan menggunakan CSS yang diubah suai pemilih, anda boleh mengenal pasti dan mengklik butang yang diingini dengan tepat, sama ada "Cari" atau "Tetapkan Semula."

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Isu Pemilih Apabila Mengklik Butang dengan Selenium dalam Python?. 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