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.

AttributeError: El objeto ‘dict’ no tiene el atributo ‘click’ con el error find_element_by_css_selector() y click() usando Selenium y ChromeDriver.

Quiero usar el comando click en mi página de prueba. Pero estoy obteniendo el siguiente error. Lo he escrito en python.

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
import pandas as pd

url="https://tv.com/home"
options = webdriver.ChromeOptions()
options.binary_location ="C:\Program Files\Google\Chrome\Application\chrome.exe"
driver = webdriver.Chrome("chromedriver.exe",chrome_options=options)

driver.get(url)
driver.maximize_window()
time.sleep(20)
arr=[]
driver.find_element_by_css_selector(".1DRQ8").click()
x=driver.find_element_by_css_selector(".1sZ9q").find_elements_by_tag_name("a")

Obteniendo el error:

driver.find_element_by_css_selector("._1DRQ8").click()
AttributeError: el objeto 'dict' no tiene el atributo 'click'
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el código está intentando utilizar el método click() en un objeto de tipo diccionario en lugar de un objeto de tipo WebElement. El problema podría estar en el argumento chrome_options que se está pasando al método webdriver.Chrome().

    Para solucionar esto, intenta cambiar el argumento chrome_options=options por options=options como se muestra a continuación:

    options = webdriver.ChromeOptions()
    options.binary_location ="C:\Program Files\Google\Chrome\Application\chrome.exe"
    driver = webdriver.Chrome("chromedriver.exe", options=options)
    
    driver.get(url)
    driver.maximize_window()
    time.sleep(20)
    arr=[]
    driver.find_element_by_css_selector("._1DRQ8").click()
    x=driver.find_element_by_css_selector("._1sZ9q").find_elements_by_tag_name("a")
    

    Esto debería solucionar el problema y permitirte utilizar el comando click() en tu página de prueba.

Comments are closed.