Selenium es una poderosa herramienta para controlar los navegadores web a través de programas y realizar la automatización del navegador. Es funcional para todos los navegadores, funciona en los principales sistemas operativos y sus scripts están escritos en varios lenguajes, es decir , Python , Java , C# , etc. Trabajaremos con Python. Selenium Tutorial cubre todos los temas, como: WebDriver, WebElement, Unit Testing con selenium. Este tutorial de Python Selenium cubre Selenium desde lo básico hasta los usos avanzados y profesionales.
¿Por qué aprender Selenium Python?
- Código abierto y portátil : Selenium es un marco de prueba web portátil y de código abierto.
- Combinación de herramienta y DSL – Selenium es una combinación de herramientas y DSL (Domain Specific Language) para realizar varios tipos de pruebas.
- Más fácil de entender e implementar : los comandos de Selenium se clasifican en diferentes clases, lo que facilita su comprensión e implementación.
- Menos carga y estrés para los evaluadores : como se mencionó anteriormente, la cantidad de tiempo requerida para probar escenarios de prueba repetidos en todas y cada una de las nuevas versiones se reduce a cero, casi. Por lo tanto, la carga del probador se reduce.
- Reducción de costos para los clientes comerciales : la empresa debe pagar a los probadores su salario, que se ahorra utilizando la herramienta de prueba de automatización. La automatización no solo ahorra tiempo, sino que también genera beneficios económicos para la empresa.
- Conceptos básicos de selenium
- Componentes del selenium
- Aplicaciones y usos
- Características
- Limitaciones
Conceptos básicos de Selenium Python
- Introducción e instalación de Selenium Python
- Navegar por enlaces usando el método get
- Interactuando con la página web
- Localización de elementos individuales
- Localización de varios elementos
- Estrategias de localización: Selenium Python
- Escribir pruebas usando Selenium Python
Estrategias de localización
- Localización de elementos individuales –
- Localización de múltiples elementos –
Murga
Strings de acción
- Conceptos básicos de las strings de acción
- hacer clic
- hacer clic y mantener
- contexto_clic
- haga doble clic
- arrastrar y soltar
- tecla_abajo
- tecla Arriba
- move_by_offset
- mover_a_elemento
- move_to_element_with_offset
- liberar
- restablecer_acciones
- enviar_claves
Avanzado en Selenium Python –
- Manejo de excepciones – Selenium Python
- Teclas especiales en Selenium Python
- ¿Cómo manejar los avisos de alerta en Selenium Python?
- Agregar y eliminar cookies en Selenium Python
- ¿Cómo retroceder y avanzar en la historia usando Selenium Python?
- Teclas especiales en Selenium Python
- Aserción en Selenium WebDriver usando TestNg
- Trucos de Selenium Python
- Modelo de objetos de página (POM)
Ejemplos de proyectos
- ¡Whatsapp usando Python!
- Automatización del navegador usando Selenium
- Inicio de sesión de Facebook usando Python
- Automatización de la publicación de feliz cumpleaños en Facebook usando Selenium
- Cómo acceder a la ventana emergente de inicio de sesión en Selenium usando Python
- Bombardero de SMS usando Selenium
Selenium WebDriver
Selenium Webdriver es el padre de todos los métodos y clases utilizados en Selenium Python. Es la fuerza impulsora de Selenium que nos permite realizar varias operaciones en múltiples elementos en una página web. Driver tiene varios métodos y atributos que se pueden usar para automatizar las pruebas en Selenium Python. Para verificar cómo usar webdriver, visite –
Controlador web en Selenium Python
. Varios métodos que se pueden usar en selenium Python son:
Método | Descripción |
---|---|
agregar_cookie | Agrega una cookie a su sesión actual. |
espalda | Retrocede un paso en el historial del navegador. |
cerca | Cierra la ventana actual. |
crear_elemento_web | Crea un elemento web con el element_id especificado. |
eliminar_todas_las_cookies | Eliminar todas las cookies en el ámbito de la sesión. |
eliminar_cookie | Elimina una sola cookie con el nombre dado. |
ejecutar_async_script | Ejecuta JavaScript de forma asíncrona en la ventana/marco actual. |
ejecutar_script | Sincrónicamente ejecuta JavaScript en la ventana/marco actual. |
delantero | Avanza un paso en el historial del navegador. |
ventana_de_pantalla_completa | Invoca la operación de «pantalla completa» específica del administrador de ventanas |
obtener_cookie | Obtenga una sola cookie por nombre. Devuelve la cookie si se encuentra, Ninguna si no. |
obtener_cookies | Devuelve un conjunto de diccionarios, correspondientes a las cookies visibles en la sesión actual. |
get_log | Obtiene el registro para un tipo de registro dado |
get_screenshot_as_base64 | Obtiene la captura de pantalla de la ventana actual como una string codificada en base64 que es útil en imágenes incrustadas en HTML. |
obtener_captura_de_pantalla_como_archivo | Guarda una captura de pantalla de la ventana actual en un archivo de imagen PNG. |
get_screenshot_as_png | Obtiene la captura de pantalla de la ventana actual como datos binarios. |
get_window_position | Obtiene la posición x, y de la ventana actual. |
get_window_rect | Obtiene las coordenadas x, y de la ventana, así como la altura y el ancho de la ventana actual. |
get_window_size | Obtiene el ancho y el alto de la ventana actual. |
implícitamente_esperar | Establece un tiempo de espera fijo para esperar implícitamente a que se encuentre un elemento, |
maximizar_ventana | Maximiza la ventana actual que usa webdriver |
minimizar_ventana | Invoca la operación ‘minimizar’ específica del administrador de ventanas |
abandonar | Sale del controlador y cierra todas las ventanas asociadas. |
actualizar | Actualiza la página actual. |
establecer_pagina_cargar_tiempo de espera | Establezca la cantidad de tiempo de espera para que se complete la carga de una página antes de arrojar un error. |
establecer_script_tiempo de espera | Establezca la cantidad de tiempo que el script debe esperar durante una llamada de execute_async_script antes de generar un error. |
establecer_ventana_posición | Establece la posición x, y de la ventana actual. (ventana.moveTo) |
establecer_ventana_rect | Establece las coordenadas x, y de la ventana, así como la altura y el ancho de la ventana actual. |
URL_actual | Obtiene la URL de la página actual. |
identificador_de_la_ventana_actual | Devuelve el identificador de la ventana actual. |
fuente de la página | Obtiene la fuente de la página actual. |
título | Devuelve el título de la página actual. |
Un elemento puede ser una etiqueta, propiedad o cualquier cosa, es una instancia de clase
selenium.webdriver.remote.webelement.WebElement
. Después de encontrar un elemento en la pantalla usando Selenium, es posible que desee hacer clic en él o buscar subelementos, etc. Selenium proporciona métodos en torno a este WebElement de Selenium. Para ver cómo usar el objeto del elemento en Selenium, visite –
Elemento web en Selenium Python
. A continuación se analizan varios métodos que se pueden usar con un elemento en Selenium Python:
Métodos de elementos | Descripción |
---|---|
es_seleccionado() | El método is_selected se utiliza para verificar si el elemento está seleccionado o no. Devuelve un valor booleano True o False. |
se visualiza() | El método is_displayed se usa para verificar si el elemento es visible para el usuario o no. Devuelve un valor booleano True o False. |
está habilitado() | El método is_enabled se usa para verificar si el elemento está habilitado o no. Devuelve un valor booleano True o False. |
obtener_propiedad() | El método get_property se usa para obtener las propiedades de un elemento, como obtener la propiedad text_length de la etiqueta de anclaje. |
obtener_atributo() | El método get_attribute se usa para obtener atributos de un elemento, como obtener el atributo href de la etiqueta de anclaje. |
enviar_claves() | El método send_keys se usa para enviar texto a cualquier campo, como el campo de entrada de un formulario o incluso para anclar el párrafo de la etiqueta, etc. |
hacer clic() | El método de clic se utiliza para hacer clic en cualquier elemento, como una etiqueta de anclaje, un enlace, etc. |
clear() | El método clear se usa para borrar el texto de cualquier campo, como el campo de entrada de un formulario o incluso para anclar el párrafo de la etiqueta, etc. |
captura de pantalla() | El método de captura de pantalla se utiliza para guardar una captura de pantalla del elemento actual en un archivo PNG. |
enviar() | El método de envío se utiliza para enviar un formulario después de haber enviado datos a un formulario. |
valor_de_la_propiedad_css() | El método value_of_css_property se usa para obtener el valor de una propiedad css para un elemento. |
ubicación | El método de ubicación se utiliza para obtener la ubicación del elemento en el lienzo renderizable. |
captura de pantalla_as_png | El método screenshot_as_png se utiliza para obtener la captura de pantalla del elemento actual como datos binarios. |
padre | El método principal se usa para obtener una referencia interna a la instancia de WebDriver desde la que se encontró este elemento. |
Talla | El método de tamaño se utiliza para obtener el tamaño del elemento actual. |
etiqueta_nombre | El método tag_name se utiliza para obtener el nombre de la etiqueta a la que se refiere. |
texto | El método de texto se utiliza para obtener el texto del elemento actual. |
rectificar | El método rect se usa para obtener un diccionario con el tamaño y la ubicación del elemento. |
captura de pantalla_como_base64 | El método screenshot_as_base64 se usa para obtener la captura de pantalla del elemento actual como una string codificada en base64. |
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA