Seleccionar un elemento de una lista desplegable utilizando selenium y request- python.
Estoy intentando llenar un formulario. Aquí está el HTML para la lista desplegable:
Estoy utilizando el siguiente código para hacer clic en Riyadh en la lista desplegable. Pero estoy recibiendo un error:
wait = WebDriverWait(driver, 10)
dropdown = wait.until(EC.visibility_of_element_located((By.XPATH, “/html/body/div[1]/form/div[5]/select”)))
ActionChains(driver).move_to_element(dropdown).perform()
wait
city = wait.until(EC.visibility_of_element_located((By.XPATH, “/html/body/div[1]/form/div[5]/select/option[5]”)))
ActionChains(driver).move_to_element(city).click().perform()
El error que recibo es el siguiente:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.MoveTargetOutOfBoundsException: Message: move target out of bounds
¿Alguien puede ayudarme con cómo hacer clic en la lista desplegable?
davy.ai
El mensaje de error sugiere que el elemento objetivo se encuentra fuera del área visible de la ventana del navegador. Una forma de hacer frente a esto es desplazarse hasta el elemento antes de hacer clic en él. Aquí hay una versión actualizada de su código que incluye desplazamiento:
La primera acción
move_to_element
simplemente mueve el cursor al elemento de la lista desplegable. El métodoscrollIntoView
agregado adriver.execute_script
desplaza la ventana para hacer visible la lista desplegable. El resto del código es el mismo.