es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de AttributeError: El objeto ‘WebElement’ no tiene el atributo ‘Click’, intentando hacer clic en un enlace utilizando Selenium Python.

Estoy en el proceso de intentar acceder a una página de búsqueda que implica hacer clic en un enlace en la parte inferior de la página. Parece que mi código puede encontrar el enlace o al menos no arrojar un error al intentar hacerlo, sin embargo, obtengo el error “AttributeError: el objeto ‘WebElement’ no tiene el atributo ‘Click'” aunque el elemento es clickeable físicamente en la página.
Aquí está el código y el sitio web.

driver = webdriver.Edge(r’C:/Users/User/Desktop/Anaconda/edgedriver_win32/msedgedriver’)
driver.get(“https://www.canada.ca/en/environment-climate-change/services/species-risk-public-registry/cosewic-assessments-status-reports”)

haga clic en el botón “Buscar informes de estado COSEWIC”

element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.LINK_TEXT, “Buscar informes de estado COSEWIC”))
)
link = driver.find_element_by_link_text(“Buscar informes de estado COSEWIC”);
link.Click();

Si estoy equivocado acerca de este elemento que se puede hacer clic, por favor hágamelo saber. Para ser claros, estoy tratando de hacer clic en el enlace “Buscar informes de estado COSEWIC” que se encuentra en la parte inferior de la página web “https://www.canada.ca/en/environment-climate-change/services/species-risk-public-registry/cosewic-assessments-status-reports”

Actualización

He encontrado un arreglo, pero la pregunta sigue en pie.
Me he encontrado con otro atributo que necesito hacer clic y no parece tener atributos “id” u otra thing fácil de identificar.

Resumen de evaluación del estado COSEWIC sobre la musaraña acuática del Pacífico Sorex bendirii en Canadá

He intentado copiar el XPath a este elemento y el ID dentro del XPath, pero parece que no funcionan. Este es el primer resultado en la página. “https://species-registry.canada.ca/index-en.html#/documents?documentTypeId=18&sortBy=documentTypeSort&sortDirection=asc&pageSize=10&keywords=pacific%20water%20shrew”

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “AttributeError: el objeto ‘WebElement’ no tiene el atributo ‘Click'” indica que hay un error tipográfico en el código donde la función de clic se llama con una “C” mayúscula en lugar de una “c” minúscula. El nombre correcto de la función es “click”, todo en minúsculas.

    El código para hacer clic en el enlace debe ser:

    link = driver.find_element_by_link_text("Search COSEWIC status reports")
    link.click()
    

    Tenga en cuenta que el nombre de la función es “click” y no “Click”.

    En cuanto al segundo elemento, es posible que no tenga un id u otro atributo fácil de localizar. Una opción es intentar usar el texto del elemento para localizarlo, así:

    elemento = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "//span[contains(text(), 'COSEWIC Status Appraisal Summary on the Pacific Water Shrew')]"))
    )
    elemento.click()
    

    Este código utiliza una expresión XPath para localizar el elemento “span” que contiene el texto “COSEWIC Status Appraisal Summary on the Pacific Water Shrew”. Si hay varios elementos con un texto similar, es posible que deba ajustar la expresión XPath para que sea más específica.

Comments are closed.