Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Selenium Tidak Boleh Mengklik Butang 'Dapatkan Data' Saya, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Selenium Tidak Boleh Mengklik Butang 'Dapatkan Data' Saya, dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 05:53:091033semak imbas

Why Can't Selenium Click My

Selenium Tidak Dapat Mengklik Butang "Dapatkan Data" Menggunakan Python

Semasa cuba mengikis data dari tapak web, anda menghadapi kesukaran menggunakan Selenium untuk mengklik "Dapatkan Data" butang. Walaupun menggunakan XPath dan pencari ID, anda tetap tidak berjaya.

Untuk menyelesaikan isu ini, anda boleh memanfaatkan strategi pencari berikut untuk mengklik butang:

  • CSS Pemilih:

    driver.find_element_by_css_selector("img.getdata-button#get").click()
  • XPath:

    driver.find_element_by_xpath("//img[@class='getdata-button'][@id='get']").click()

Untuk meningkatkan kestabilan, adalah disyorkan untuk mendorong WebDriverTunggu keadaan element_to_be_clickable() menggunakan sama ada CSS Selector atau XPath pencari:

  • Menggunakan CSS Selector:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable(By.CSS_SELECTOR, "img.getdata-button#get")).click()
  • Menggunakan XPath:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable(By.XPATH, "//img[@class='getdata-button'][@id='get']")).click()

Ingat untuk memasukkan yang perlu import:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

Atas ialah kandungan terperinci Mengapa Selenium Tidak Boleh Mengklik Butang 'Dapatkan Data' Saya, dan Bagaimana Saya Boleh Membetulkannya?. 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