| Expected Condition | Descripción | Ejemplo |
|---|---|---|
| element_to_be_clickable(locator) | Espera a que el elemento sea visible y habilitado para hacer clic en el mismo | WebDriverWait(self.driver,10).until(expected_conditions.element_to_be_clickable((By.NAME,"accept_button"))) |
| element_to_be_selected(element) | Espera a que un elemento sea seleccionado | subscription = self.driver.find_element_by_name("terms"). WebDriverWait(self.driver, 10).until(expected_conditions.element_to_be_selected(terms))) |
| invisibility_of_element_located(locator) | Espera a que un elemento no sea visible o no se encuentre presente en el DOM | WebDriverWait(self.driver,10).until(expected_conditions.invisibility_of_element_located((By.ID,"loading_banner"))) |
| presence_of_all_elements_located(locator) | Espera a que por lo menos uno de los elementos que se indican coincida con los presentes en el sitio | WebDriverWait(self.driver,10).until(expected_conditions.presence_of_all_elements_located((By.CLASS_NAME,"input-text"))) |
| presence_of_element_located(locator) | Espera a que un elemento sea visible se encuentre presente en el DOM | WebDriverWait(self.driver,10).until(expected_conditions.presence_of_element_located((By.ID,"search-bar"))) |
| text_to_be_present_in_element(locator,text_) | Espera a que un elemento con el texto indicado se encuentre presente | WebDriverWait(self.driver,10).until(expected_conditions.text_to_be_present_in_element((By.ID,"seleorder"),"high")) |
| title_contains(title) | Espera a que la página contenga en el título exactamente como es indicado | WebDriverWait(self.driver, 10).until(expected_conditions.title_contains("Welcome")) |
| title_is(title) | Espera a que la página tenga un título idéntico a como es indicado | WebDriverWait(self.driver, 10).until(expected_conditions.title_is("Welcome to Platzi")) |
| visibility_of(element) | Espera a que el elemento indicado esté en el DOM, sea visible, su alto y ancho sean mayores a cero | first_name = self.driver.find_element_by_id("firstname") WebDriverWait(self.driver, 10).until(expected_conditions.visibility_of(first_name)) |
| visibility_of_element_located(locator) | Espera a que el elemento indicado por su selector esté en el DOM, sea visible y que su alto y ancho sean mayores a cero | WebDriverWait(self.driver,10).until(expected_conditions.visibility_of_element_located((By.ID,"firstname"))) |
Sebastián Andrade
EstudianteCristian David Restrepo Marin
EstudianteGerardo Alberto Soto Alvarez del Castillo
EstudianteMICHAEL ALEXIS OLIVERA PRADO
EstudianteJose Antonio Rojas Ollarves
EstudianteJuan Carlos Ortiz Romero
EstudianteJuan Carlos Ortiz Romero
EstudianteUsuario anónimo
UserHéctor Daniel Vega Quiñones
ProfesorDaniel Cañon
EstudianteDAVID EDUARDO BAEZ SANCHEZ
EstudianteRoyer Guerrero Pinilla
EstudianteLuis Ernesto Román Chitala
EstudianteSebastian Baez Ramos
EstudianteJuan Jacobo Arias Ramirez
EstudianteJhonatan David Ibarra Lavado
EstudianteAntonio Demarco Bonino
EstudianteFredy Mendoza Vargas
EstudianteAdemas de estas, podemos crear nuestras propias condiciones, aqui en la documentacion de selenium explican como https://selenium-python.readthedocs.io/waits.html#explicit-waits
Gracias por el aporte
La documentación actual de las Expected Conditions de Selenium: https://www.selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.expected_conditions.html
Cual es la diferencia de title_contains(title) Vs title_is(title)? me parecen iguales
Estan interesantes, pero me hubiese gustado mas verlas en accion
WebDriverWait(self.driver,10).until(expected_conditions.presence_of_all_elements_located((By.CLASS_NAME,“input-text”)))
WebDriverWait(self.driver,10).until(expected_conditions.element_to_be_clickable((By.NAME,“accept_button”)))
Muy útil para seguir practicando. Gracias. :D
Así es, las Expected Conditions permiten tener un mejor control de tus automatizaciones y hacerlas más prolijas.
gracias, espero aplicarlos en algún ejemplo jejej
Thanks
Muy util la información me queda un poco mas claro el concepto de pausas explicitas
Gracias!
¿Las condiciones esperadas sólo se pueden usar con WebDriverWait?
Según entiendo si, las condicionales son hasta que se cumplan en el "sub-modulo" until que hace parte de WebDriverWait
Por lo que sin el WebDriverWait no podría haber el until que es literalmente "hasta" y ese necesita las condicionales
Así lo entiendo yo, espero estar en lo correcto, igual si me equivoco en algo házmelo saber
Muchas gracias por la información.
Muchas gracias por la información.
Gracias!