Selenium no puede localizar el elemento.
Recibo el error que dice:
selenium.common.exceptions.NoSuchElementException: Mensaje: no existe tal elemento: incapaz de localizar el elemento: {"método":"xpath", "selector":"/html/body/div[2]/div/div/div/div[2]/div/div/div/div[2]/div/div/form/input"}
Estoy trabajando en este sitio web, https://new.igashop.com.au/. Lo que intento hacer es extraer la ciudad que deseo de la hoja de cálculo de Google y escribirla en la barra de búsqueda para poder acceder al sitio web de esa ciudad en particular. No puedo encontrar qué está mal en mi código. ¿Alguien podría darme algún consejo? Gracias.
driver = get_webdriver()
driver.delete_all_cookies()
driver.implicitly_wait(10)
driver.get("https://new.igashop.com.au/")
city = product_sheet.col_values(2)[index]
search_bar = driver.find_element_by_xpath('/html/body/div[2]/div/div/div/div[2]/div/div/div/div[2]/div/div/form/input')
search_bar.send_keys(city)
search_bar.send_keys(Keys.RETURN)
davy.ai
El mensaje de error indica que el selector XPath utilizado para localizar el elemento de la barra de búsqueda no es válido. Es posible que la estructura HTML del sitio web haya cambiado o que el selector XPath sea incorrecto.
Para solucionar el problema, puedes intentar lo siguiente:
Reemplaza el selector XPath con un selector CSS o utiliza un atributo diferente para localizar el elemento de la barra de búsqueda.
Utiliza WebDriverWait en lugar de espera implícita para asegurarte de que el elemento esté presente en la página antes de interactuar con él.
Aquí tienes un ejemplo de cómo utilizar WebDriverWait para localizar el elemento de la barra de búsqueda:
En este ejemplo, se utiliza un selector CSS para localizar el elemento de la barra de búsqueda y se utiliza WebDriverWait para esperar a que el elemento esté presente en la página.