Entender las clases WebDriver y WebElement

Clase 9 de 24Curso de Introducción a Selenium con Python

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/AtributoDescripciónEjemplo
current_urlObtiene la URL del sitio en la que se encuentra el navegadordriver.get_url
current_window_handleObtiene la referencia que identifica a la ventana activa en ese momentodriver.current_window_handle
nameObtiene el nombre del navegador subyacente para la instancia activadriver.name
orientationObtiene la orientación actual del dispositivo móvildriver.orientation
page_sourceObtiene el código fuente de disponible del sitio webdriver.page_source
titleObtiene el valor de la etiqueta <title> del sitio webdriver.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/AtributoDescripciónEjemplo
sizeObtiene el tamaño del elementologin.size
tag_nameObtiene el nombre de la etiqueta HTML del elementologin.tag_name
textObtiene el texto del elementologin.text

Métodos más comunes de la clase WebElement

Método/AtributoDescripciónEjemplo
clear()Limpia el contenido de un textareafirst_name.clear()
click()Hace clic en el elementosend_button.click()
get_attribute(name)Obtiene el valor del atributo de un elementosubmit_button.get_attribute(‘value’) last_name.get_attribute(max_length)
is_displayed()Verifica si el elemento está a la vista al usuariobanner.is_displayed()
is_enabled()Verifica si el elemento está habilitadoradio_button.is_enabled()
is_selected()Verifica si el elemento está seleccionado, para el caso de checkbox o radio buttoncheckbox.is_selected()
send_keys(value)Simula escribir o presionar teclas en un elementoemail_field.send_keys(‘team@platzi.com’)
submit()Envía un formulario o confirmación en un text areasearch_field.submit()
value_of_css_property(property_name)Obtiene el valor de una propiedad CSS del elementoheader.value_of_css_property(‘background-color’)