Maison >développement back-end >Tutoriel Python >Pourquoi Selenium ne peut-il pas cliquer sur mon bouton « Obtenir des données » et comment puis-je y remédier ?

Pourquoi Selenium ne peut-il pas cliquer sur mon bouton « Obtenir des données » et comment puis-je y remédier ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-09 05:53:091074parcourir

Why Can't Selenium Click My

Selenium ne parvient pas à cliquer sur le bouton "Obtenir des données" à l'aide de Python

En essayant de récupérer les données d'un site Web, vous avez rencontré des difficultés à utiliser Selenium pour cliquer sur "Obtenir des données". bouton. Malgré l'utilisation des localisateurs XPath et ID, vous n'avez pas réussi.

Pour résoudre ce problème, vous pouvez utiliser les stratégies de localisateur suivantes pour cliquer sur le bouton :

  • CSS Sélecteur :

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

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

Pour améliorer la stabilité, il est recommandé pour induire WebDriverWait pour la condition element_to_be_clickable() en utilisant soit CSS Selector, soit XPath localisateurs :

  • Utilisation du sélecteur CSS :

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

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

N'oubliez pas d'inclure les éléments nécessaires importations :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn