CursosEmpresasBlogLiveConfPrecios

Entender las clases WebDriver y WebElement

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

Contenido del curso

Conocer el ecosistema de Selenium

  • 1
    Por qué aprender Selenium y qué verás

    Por qué aprender Selenium y qué verás

    03:15 min
  • 2
    Historia de Selenium

    Historia de Selenium

    09:05 min
  • 3
    Otras herramientas de testing y automatización

    Otras herramientas de testing y automatización

    03:40 min

Preparar entorno de trabajo

  • 4
    Configurar entorno de trabajo

    Configurar entorno de trabajo

    01:43 min
  • 5
    Compatibilidad con Python 3.9 y aprendiendo a utilizar múltiples versiones

    Compatibilidad con Python 3.9 y aprendiendo a utilizar múltiples versiones

    01:44 min
  • 6
    ¡Hola, mundo!

    ¡Hola, mundo!

    11:51 min

Utilizar comandos básicos

  • 7
    Encontrar elementos con find_element

    Encontrar elementos con find_element

    15:23 min
  • 8
    Preparar assertions y test suites

    Preparar assertions y test suites

    13:50 min
  • 9
    Entender las clases WebDriver y WebElement

    Entender las clases WebDriver y WebElement

    Viendo ahora

Interactuar con elementos

  • 10
    Manejar form, textbox, checkbox y radio button

    Manejar form, textbox, checkbox y radio button

    13:37 min
  • 11
    Manejar dropdown y listas

    Manejar dropdown y listas

    07:42 min
  • 12
    Manejar alert y pop-up

    Manejar alert y pop-up

    06:05 min
  • 13
    Automatizar navegación

    Automatizar navegación

    03:54 min

Sincronizar pruebas

  • 14
    Demora implícita y explícita

    Demora implícita y explícita

    08:38 min
  • 15
    Condicionales esperadas

    Condicionales esperadas

    00:44 min

Retos

  • 16
    Agregar y eliminar elementos

    Agregar y eliminar elementos

    09:16 min
  • 17
    Elementos dinámicos

    Elementos dinámicos

    06:46 min
  • 18
    Controles dinámicos

    Controles dinámicos

    08:01 min
  • 19
    Typos

    Typos

    05:43 min
  • 20
    Ordenar tablas

    Ordenar tablas

    07:12 min

Metodologías de Trabajo

  • 21
    Data Driven Testing (DDT)

    Data Driven Testing (DDT)

    13:35 min
  • 22
    Page Object Model (POM)

    Page Object Model (POM)

    10:35 min

Cierre del curso

  • 23
    Realizar una prueba técnica

    Realizar una prueba técnica

    11:33 min
  • 24
    Conclusiones

    Conclusiones

    01:43 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      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’)

      Comentarios

        David Rodriguez

        David Rodriguez

        student•
        hace 6 años
        Creo que hay un error aquí
          Miguel Angel Paz Gonzalez

          Miguel Angel Paz Gonzalez

          student•
          hace 6 años

          Si debería mostrarse: Obtiene el nombre de la etiqeta HTML del elemento. Y en la columna Ejemplo corresponde: login.tag_name

          Cristian Adrian Ayala

          Cristian Adrian Ayala

          student•
          hace 6 años

          Quedaría así:

          Propiedades más comunes de la clase WebDriver.png

        Kevin Echenique

        Kevin Echenique

        student•
        hace 4 años

        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

          Emel GM

          Emel GM

          student•
          hace 4 años

          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.

        Daniel Cañon

        Daniel Cañon

        student•
        hace 6 años

        en el ejemplo de la current_url debería ser driver.current_url como se puede ver en la clase de 10 de dropdown

        Ricardo Cuéllar

        Ricardo Cuéllar

        student•
        hace 6 años

        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.

          Eliaz Bobadilla

          Eliaz Bobadilla

          student•
          hace 5 años

          Esa documentación no es oficial

        Sebastián Andrade

        Sebastián Andrade

        student•
        hace 5 años

        Como pudimos usar metodos de web element en la clase anterior si no importamos el modulo al principio?

          Jose David Ballesteros Paternina

          Jose David Ballesteros Paternina

          student•
          hace 5 años

          Hola Sebastián, Se utiliza cuando se importa el webdriver, es decir:

          from selenium import webdriver
        Fabiola Dayana Acarapi Alvarez

        Fabiola Dayana Acarapi Alvarez

        student•
        hace 5 años

        Documentación de web element https://www.selenium.dev/documentation/en/webdriver/web_element/

        Cristian David Restrepo Marin

        Cristian David Restrepo Marin

        student•
        hace 5 años

        Esta información es importante conocerla. Muchas gracias

        Jorge Heli Rueda Uribe

        Jorge Heli Rueda Uribe

        student•
        hace 5 años

        Que buena tabla que resume todos los métodos de WebDriver y WebElement.

        Antonio Demarco Bonino

        Antonio Demarco Bonino

        student•
        hace 5 años

        Brillante! Me encanta cuando la data está bien esqumatizada y organizada de una manera muy visible.

        Juan Carlos Ortiz Romero

        Juan Carlos Ortiz Romero

        student•
        hace 4 años

        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.

        Jhonatan David Ibarra Lavado

        Jhonatan David Ibarra Lavado

        student•
        hace 5 años

        a ver como así, o sea como se utilizan, me perdí me podrías explicar gracias

          Miguel Alfredo Valdes Arias

          Miguel Alfredo Valdes Arias

          student•
          hace 5 años

          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')

        Fredy Mendoza Vargas

        Fredy Mendoza Vargas

        student•
        hace 5 años

        Excelente

        Daniel Cañon

        Daniel Cañon

        student•
        hace 6 años

        excelente

        DANIEL STEVEN SARMIENTO CUERVO

        DANIEL STEVEN SARMIENTO CUERVO

        student•
        hace 6 años

        no hay nada

          Héctor Daniel Vega Quiñones

          Héctor Daniel Vega Quiñones

          teacher•
          hace 6 años

          En un momento estará disponible :)

          Cristian Adrian Ayala

          Cristian Adrian Ayala

          student•
          hace 6 años

          Como andas Daniel? Actualicé la tabla de las 'Propiedades más comunes de la clase WebElement' ya que estaba incompleta. Saludos desde Uruguay.

        Andrés Corral

        Andrés Corral

        student•
        hace 6 años

        super

        Miguel Angel Ruiz

        Miguel Angel Ruiz

        student•
        hace 6 años

        Muy Bueno!!

        Gerardo Alberto Soto Alvarez del Castillo

        Gerardo Alberto Soto Alvarez del Castillo

        student•
        hace 6 años

        Les dejo un Link con algunos de los métodos más útiles: https://www.softwaretestinghelp.com/selenium-webdriver-commands-selenium-tutorial-17/

        DAVID EDUARDO BAEZ SANCHEZ

        DAVID EDUARDO BAEZ SANCHEZ

        student•
        hace 6 años

        Excelente

        Jose Antonio Rojas Ollarves

        Jose Antonio Rojas Ollarves

        student•
        hace 5 años

        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.


        • Mas info: