Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengklik Butang Kompleks dengan Struktur HTML Bersarang Menggunakan Python Selenium?

Bagaimana untuk Mengklik Butang Kompleks dengan Struktur HTML Bersarang Menggunakan Python Selenium?

Susan Sarandon
Susan Sarandonasal
2024-10-22 12:47:14920semak imbas

How to Click Complex Buttons with Nested HTML Structures Using Python Selenium?

Python Selenium: Mengklik Butang Kompleks

Cabaran: Klik pada butang dengan struktur HTML kompleks dalam Python Selenium

Soalan:

Seorang pengguna menghadapi cabaran mencari dan mengklik butang dengan struktur HTML berikut:

<code class="html"><div class="b_div">
    <div class="button c_button s_button" onclick="submitForm('mTF')">
        <input class="very_small" type="button">
        <div class="s_image"></div>
        <span>Search</span>
    </div>
    <div class="button c_button s_button" onclick="submitForm('rMTF')" style="margin-bottom: 30px;">
        <input class="v_small" type="button">
        <span>Reset</span>
    </div>
</div></code>

Penyelesaian yang Dicuba:

Pengguna mencuba menggunakan pelbagai pemilih Selenium, seperti:

  • driver.find_element_by_css_selector('.button .c_button .s_button').click()
  • driver.find_element_by_name('s_image('s_image ).click()
  • driver.find_element_by_class_name('s_image').click()

Walau bagaimanapun, mereka menerima ralat NoSuchElementException.

Penyelesaian:

Untuk menyelesaikan isu ini, pengguna perlu mengalih keluar ruang antara nama kelas dalam pemilih CSS. Pemilih yang betul ialah:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengklik Butang Kompleks dengan Struktur HTML Bersarang Menggunakan Python Selenium?. 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