Contenido del curso
Contenido del curso
Como viste en clases anteriores, un sitio web se construye por código HTML en forma de árbol, conteniendo distintos elementos con los que podemos interactuar según estén presentes o no en nuestra interfaz gráfica.
Selenium WebDriver nos brinda la posibilidad de poder referirnos a estos elementos y ejecutar métodos específicos para realizar las mismas acciones que un humano haría sobre los mismos, gracias a las clases WebDriver y WebElement.
Clase WebDriver
Cuenta con una serie de propiedades y métodos para interactuar directamente con la ventana del navegador y sus elementos relacionados, como son pop-ups o alerts. Por ahora nos centraremos a las más utilizadas.
Propiedades de la clase WebDriver
Estas son las más comunes para acceder al navegador.
| Propiedad/Atributo | Descripción | Ejemplo |
|---|---|---|
| current_url | Obtiene la URL del sitio en la que se encuentra el navegador | driver.get_url |
| current_window_handle | Obtiene la referencia que identifica a la ventana activa en ese momento | driver.current_window_handle |
| name | Obtiene el nombre del navegador subyacente para la instancia activa | driver.name |
| orientation | Obtiene la orientación actual del dispositivo móvil | driver.orientation |
| page_source | Obtiene el código fuente de disponible del sitio web | driver.page_source |
| title | Obtiene el valor de la etiqueta <title> del sitio web | driver.title |
Clase WebElement
Esta clase nos permite interactuar específicamente con elementos de los sitios web como textbox, text area, button, radio button, checkbox, etc.
Propiedades más comunes de la clase WebElement
| Propiedad/Atributo | Descripción | Ejemplo |
|---|---|---|
| size | Obtiene el tamaño del elemento | login.size |
| tag_name | Obtiene el nombre de la etiqueta HTML del elemento | login.tag_name |
| text | Obtiene el texto del elemento | login.text |
Métodos más comunes de la clase WebElement
| Método/Atributo | Descripción | Ejemplo |
|---|---|---|
| clear() | Limpia el contenido de un textarea | first_name.clear() |
| click() | Hace clic en el elemento | send_button.click() |
| get_attribute(name) | Obtiene el valor del atributo de un elemento | submit_button.get_attribute(‘value’) last_name.get_attribute(max_length) |
| is_displayed() | Verifica si el elemento está a la vista al usuario | banner.is_displayed() |
| is_enabled() | Verifica si el elemento está habilitado | radio_button.is_enabled() |
| is_selected() | Verifica si el elemento está seleccionado, para el caso de checkbox o radio button | checkbox.is_selected() |
| send_keys(value) | Simula escribir o presionar teclas en un elemento | email_field.send_keys(‘team@platzi.com’) |
| submit() | Envía un formulario o confirmación en un text area | search_field.submit() |
| value_of_css_property(property_name) | Obtiene el valor de una propiedad CSS del elemento | header.value_of_css_property(‘background-color’) |
David Rodriguez
Miguel Angel Paz Gonzalez
Cristian Adrian Ayala
Kevin Echenique
Emel GM
Daniel Cañon
Ricardo Cuéllar
Eliaz Bobadilla
Sebastián Andrade
Jose David Ballesteros Paternina
Fabiola Dayana Acarapi Alvarez
Cristian David Restrepo Marin
Jorge Heli Rueda Uribe
Antonio Demarco Bonino
Juan Carlos Ortiz Romero
Jhonatan David Ibarra Lavado
Miguel Alfredo Valdes Arias
Fredy Mendoza Vargas
Daniel Cañon
DANIEL STEVEN SARMIENTO CUERVO
Héctor Daniel Vega Quiñones
Cristian Adrian Ayala
Andrés Corral
Miguel Angel Ruiz
Gerardo Alberto Soto Alvarez del Castillo
DAVID EDUARDO BAEZ SANCHEZ
Jose Antonio Rojas Ollarves
Si debería mostrarse: Obtiene el nombre de la etiqeta HTML del elemento. Y en la columna Ejemplo corresponde: login.tag_name
Quedaría así:
para los q estan usando desde la version Selenium 4.3.0, se han hecho cambios con las pruebas, el profesor escribio en ejemplo "driver.find_element_by_name('q')" ahora fueron removidos y solo debemos de escribir "driver.find_element("name", "q")", todo el codigo de la clase debera se der modificado para poder completar los test, si no, seran un error siempre q trataen de hacer cualquiera q no tenga esta modificacion
Creo que una ventaja de haber utilizado el entorno virtual fue poder instalar la misma versión y así trabajar a la par con el tutor sin problemas de versiones. pero igual es buen dato.
en el ejemplo de la current_url debería ser driver.current_url como se puede ver en la clase de 10 de dropdown
En la documentación viene bien explicado: https://selenium-python.readthedocs.io/api.html?highlight=WebDriver les recomiendo no empezar con la 7.1 porque si intimida jiji mejor vayanse a las que sigue el curso para que le agarren el hilo.
Esa documentación no es oficial
Como pudimos usar metodos de web element en la clase anterior si no importamos el modulo al principio?
Hola Sebastián, Se utiliza cuando se importa el webdriver, es decir:
from selenium import webdriver
Documentación de web element https://www.selenium.dev/documentation/en/webdriver/web_element/
Esta información es importante conocerla. Muchas gracias
Que buena tabla que resume todos los métodos de WebDriver y WebElement.
Brillante! Me encanta cuando la data está bien esqumatizada y organizada de una manera muy visible.
Cuenta con una serie de propiedades y métodos para interactuar directamente con la ventana del navegador y sus elementos relacionados, como son pop-ups o alerts. Por ahora nos centraremos a las más utilizadas.
a ver como así, o sea como se utilizan, me perdí me podrías explicar gracias
Supongo que te perdiste con los webelements, primero buscas el elemento con el que vas a trabajar, por ejemplo una caja de búsqueda:
search_box = driver.find_element_by_id('search')
y ya luego usas los métodos que necesites, por ejemplo, limpiar la caja y escribir platzi:
search_box.clear().send_keys('platzi')
Excelente
excelente
no hay nada
En un momento estará disponible :)
Como andas Daniel? Actualicé la tabla de las 'Propiedades más comunes de la clase WebElement' ya que estaba incompleta. Saludos desde Uruguay.
super
Muy Bueno!!
Les dejo un Link con algunos de los métodos más útiles: https://www.softwaretestinghelp.com/selenium-webdriver-commands-selenium-tutorial-17/
Excelente
Resumen: WebElement representa un elemento del DOM. Los WebElements se pueden encontrar buscando desde la raíz del documento utilizando una instancia de WebDriver o buscando en otra WebElement. | El API WebDriver proporciona métodos integrados para encontrar los elementos web que son basados en diferentes propiedades como ID, Nombre, Clase, XPath, Selectores CSS, Texto de enlace, etc.