Al fin luego de tanto batallar pudimos dar con la contestación de este atascamiento que tantos lectores de este espacio han presentado. Si deseas aportar algo más no dudes en aportar tu comentario.
Solución:
Selenium proporciona una práctica Select
clase para trabajar select -> option
construcciones:
from selenium import webdriver
from selenium.webdriver.support.ui import Select
driver = webdriver.Firefox()
driver.get('url')
select = Select(driver.find_element_by_id('fruits01'))
# select by visible text
select.select_by_visible_text('Banana')
# select by value
select.select_by_value('1')
Ver también:
- ¿Cuál es la forma correcta de seleccionar un uso de Python WebDriver de Selenium?
A menos que su clic esté disparando algún tipo de llamada ajax para completar su lista, en realidad no necesita ejecutar el clic.
Simplemente busque el elemento y luego enumere las opciones, seleccionando las opciones que desee.
Aquí hay un ejemplo:
from selenium import webdriver
b = webdriver.Firefox()
b.find_element_by_xpath("//select[@name='element_name']/option[text()='option_text']").click()
Puedes leer más en:
https://sqa.stackexchange.com/questions/1355/unable-to-select-an-option-using-seleniums-python-webdriver
primero necesita importar la clase Select y luego necesita crear la instancia de la clase Select. Después de crear la instancia de la clase Seleccionar, puede realizar métodos de selección en esa instancia para seleccionar las opciones de la lista desplegable. Aquí está el código
from selenium.webdriver.support.select import Select
select_fr = Select(driver.find_element_by_id("fruits01"))
select_fr.select_by_index(0)
Sección de Reseñas y Valoraciones
Acuérdate de que tienes permiso de comentar si te ayudó.