Heim >Backend-Entwicklung >Python-Tutorial >Warum kann Selenium nicht auf die Schaltfläche „Daten abrufen' klicken und wie kann ich das Problem beheben?

Warum kann Selenium nicht auf die Schaltfläche „Daten abrufen' klicken und wie kann ich das Problem beheben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-09 05:53:091062Durchsuche

Why Can't Selenium Click My

Selenium konnte mit Python nicht auf die Schaltfläche „Daten abrufen“ klicken

Beim Versuch, Daten von einer Website zu extrahieren, sind Sie auf Schwierigkeiten gestoßen, Selenium zum Klicken auf die Schaltfläche „Daten abrufen“ zu verwenden. Taste. Trotz der Verwendung von XPath- und ID-Locators blieben Sie erfolglos.

Um dieses Problem zu beheben, können Sie die folgenden Locator-Strategien nutzen, um auf die Schaltfläche zu klicken:

  • CSS Selektor:

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

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

Zur Verbesserung der Stabilität wird dies empfohlen um WebDriverWait für die Bedingung element_to_be_clickable() zu induzieren, indem entweder CSS Selector oder XPath verwendet wird Locators:

  • CSS-Selektor verwenden:

    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()
  • XPath verwenden:

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

Denken Sie daran, das Notwendige anzugeben Importe:

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

Das obige ist der detaillierte Inhalt vonWarum kann Selenium nicht auf die Schaltfläche „Daten abrufen' klicken und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn