Selenium Python Tutorial con WebDriver (Ejemplo)

โšก Resumen inteligente

Selenium con Python empareja la biblioteca de automatizaciรณn WebDriver con Python sintaxis concisa para probar aplicaciones web en Firefox, Chrome e Internet Explorer. Este tutorial configura PyDev in Eclipse, escribe scripts de inicio de sesiรณn y explica por quรฉ los equipos prefieren Python mรกs del Java.

  • ๐Ÿ Python Ventaja: Less La sintaxis verbosa hace Selenium guiones mรกs fรกciles de leer y mantener.
  • ๐ŸŒ controlador web: Envรญa comandos estรกndar a FirefoxChrome e Internet Explorer, independientemente del diseรฑo del navegador.
  • ๐Ÿงฉ PyDev Configuraciรณn: Instale la PyDev complemento en Eclipse y establecer el Python Interprete.
  • ๐Ÿ“ Scripts de inicio de sesiรณn: Localiza los campos por ID, envรญa las claves y envรญa el formulario automรกticamente.
  • โœ… Afirmaciรณn del tรญtulo: WebDriverWait mรกs assert verifica el tรญtulo de la pรกgina despuรฉs de iniciar sesiรณn.
  • ๐Ÿค– Asistencia de IA: Las herramientas de IA generan localizadores y Selenium Python guiones a partir de indicaciones simples.

Selenium Python Tutorial con WebDriver

Selenium con Python

Selenium apoya Python y por lo tanto puede ser utilizado como Selenium Controlador web con Python para las pruebas.

  • Python Es fรกcil en comparaciรณn con otros lenguajes de programaciรณn, ya que tiene una sintaxis mucho menos verbosa.
  • El Python Las API le permiten conectarse con el navegador a travรฉs de Selenium.
  • Selenium envรญa el estรกndar Python comandos para diferentes navegadores, a pesar de las variaciones en el diseรฑo de sus navegadores.

Tu puedes correr Selenium con Python guiones para Firefox, Chrome, IE, etc. en diferentes sistemas operativos.

ยฟQuรฉ es Python?

Python es un lenguaje de programaciรณn orientado a objetos de alto nivel. Estรก diseรฑado de manera fรกcil de usar. Python Utiliza palabras clave sencillas en inglรฉs, que son fรกciles de interpretar. Tiene menos complicaciones sintรกcticas que cualquier otro. lenguaje de programaciรณn.

Vea algunos de los ejemplos en la siguiente tabla.

Palabra clave Significado Uso
elif Si no Si no
mรกs otro si: X; elif: Y; mรกs: J
excepto Haz esto si ocurre una excepciรณn. excepto ValueError, a: imprime un
ejecutivo Ejecutar cadena como Python ejecutivo 'imprimir "ยกhola mundo!"'

ยฟQuรฉ es Selenium?

Selenium es una herramienta para probar tu aplicaciรณn web. Puedes hacerlo de varias maneras, por ejemplo:

  • Permรญtele pulsar los botones.
  • Introduzca el contenido en los formularios.
  • Hojee su sitio para comprobar si todo estรก "OK", etc.

Cรณmo instalar y configurar PyDev in Eclipse

PyDev son los Python entorno de desarrollo para Eclipse.

Paso 1) Vaya al Eclipse Mercado. Ayuda > Instalar nuevo software.

Instalar y configurar PyDev in Eclipse

El siguiente paso es instalar el โ€œpydev IDEโ€ para Eclipse.

Paso 2) En este paso:

  1. Busque โ€œhttp://pydev.org/updatesโ€ en Trabajar con y luego
  2. Seleccione todos los elementos de la lista y haga clic en Siguiente dos veces.
  3. Acepte el Acuerdo de Licencia y haga clic en Finalizar.

Instalar y configurar PyDev in Eclipse

Paso 3) Es posible que aparezca una advertencia de seguridad. Haga clic en "Instalar de todos modos".

Instalar y configurar PyDev in Eclipse

Paso 4) Establece preferencias para que puedas usar Python Segรบn las necesidades del proyecto. Vaya a Ventana > Preferencias > PyDev > Intรฉrprete > Python Interprete.

Instalar y configurar PyDev in Eclipse

Establecer el valor predeterminado Python Intรฉrprete, tal como lo configuraste Java compilador para ejecutar Java cรณdigo. Para cambiar el nombre del intรฉrprete, haga clic en el botรณn Buscar ejecutable de Python/PyPy.

Instalar y configurar PyDev in Eclipse

Paso 5) En este paso, proporcione el โ€œnombre del intรฉrpreteโ€ y la ruta del archivo โ€œexeโ€ de Python.

  1. Haga clic en 'Explorar' y busque python.exe donde lo instalรณ Python.
  2. Haga clic en el botรณn "Aceptar".
  3. Seleccione todas las carpetas y haga clic en Aceptar.
  4. Haga clic en "Aplicar y cerrar".

Instalar y configurar PyDev in Eclipse

Paso 6) Crear un nuevo proyecto en Python. En este paso:

  1. Haga clic derecho PyDev Explorador de paquetes > Nuevo.
  2. Seleccione la opciรณn otros.

Instalar y configurar PyDev in Eclipse

  1. Selecciona "PyDev > PyDev Proyecto".
  2. Pulse el botรณn 'Siguiente'.

Instalar y configurar PyDev in Eclipse

  1. Nombra tu proyecto.
  2. Haga clic en "Finalizar".

Instalar y configurar PyDev in Eclipse

Puedes ver lo nuevo Python (PyDev) se crea el proyecto.

Paso 7) Despuรฉs de crear el 'PyDev Proyecto', crearรกs un nuevo Python Pack

  1. Haga clic derecho en Proyecto > Nuevo > PyDev Paquete.
  2. Asigne un nombre a su paquete y haga clic en Finalizar.

Instalar y configurar PyDev in Eclipse

Instalar y configurar PyDev in Eclipse

Paso 8) Como puede observar en la captura de pantalla a continuaciรณn, se ha creado un nuevo paquete.

Instalar y configurar PyDev in Eclipse

A continuaciรณn, crea un PyDev mรณdulo. El mรณdulo contiene Python archivos para la inicializaciรณn, cuyas funciones pueden importarse a otro mรณdulo, evitando asรญ tener que reescribir el programa.

Paso 9) Crear un nuevo PyDev mรณdulo. Haga clic derecho en paquete > Nuevo > PyDev .

Instalar y configurar PyDev in Eclipse

Asigne un nombre a su mรณdulo y haga clic en โ€œFinalizarโ€.

Instalar y configurar PyDev in Eclipse

Seleccione Plantilla vacรญa y haga clic en โ€œAceptarโ€.

Instalar y configurar PyDev in Eclipse

Paso 10) Escribe tu cรณdigo para Selenium con Python como se muestra a continuaciรณn.

Instalar y configurar PyDev in Eclipse

Cรณmo crear scripts de prueba en Selenium con Python

En esta Selenium Controlador web con Python Por ejemplo, realizamos la automatizaciรณn de la "pรกgina de inicio de sesiรณn de Facebook" utilizando el Firefox conductor.

Selenium con Python Ejemplo 1: iniciar sesiรณn en Facebook

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()

Instantรกnea de la Code

Crear scripts de prueba en Selenium  con  Python

Explicaciรณn del cรณdigo

  • Code lรญnea 1: Desde el mรณdulo selenium, importe webdriver.
  • Code lรญnea 2: Desde el mรณdulo selenium, importa Keys.
  • Code lรญnea 3: user_name es una variable que se utiliza para almacenar el valor del nombre de usuario.
  • Code lรญnea 4: La variable โ€œpasswordโ€ se utilizarรก para almacenar el valor de la contraseรฑa.
  • Code lรญnea 5: Inicializar โ€œFirefoxโ€haciendo de ello un objeto.
  • Code lรญnea 6: El mรฉtodo โ€œdriver.getโ€ navega a la pรกgina dada por el URLWebDriver espera hasta que la pรกgina se haya cargado por completo antes de devolver el control a su script.
  • Code lรญnea 7: Localiza el cuadro de texto donde se debe escribir el correo electrรณnico.
  • Code lรญnea 8: Envรญa los valores a la secciรณn de correo electrรณnico.
  • Code lรญnea 9: Lo mismo ocurre con la contraseรฑa.
  • Code lรญnea 10: Envรญa los valores a la secciรณn de contraseรฑa.
  • Code lรญnea 11: element.send_keys(Keys.RETURN) presiona enter despuรฉs de que se insertan los valores.
  • Code lรญnea 12: Cerrar.

Salida: Se introducen los valores del nombre de usuario โ€œguru99โ€ y la contraseรฑa.

Crear scripts de prueba en Selenium  con  Python

La pรกgina de Facebook iniciarรก sesiรณn con el correo electrรณnico y la contraseรฑa. Pรกgina abierta (ver imagen a continuaciรณn).

Crear scripts de prueba en Selenium  con  Python

Selenium con Python Ejemplo 2: Iniciar sesiรณn en Facebook y comprobar el tรญtulo

En este ejemplo, abriremos una pรกgina de inicio de sesiรณn, completaremos los campos obligatorios "nombre de usuario" y "contraseรฑa" y comprobaremos el tรญtulo de la pรกgina.

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit   = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"

Instantรกnea del cรณdigo

Crear scripts de prueba en Selenium  con  Python

Explicaciรณn del cรณdigo:

  • Code lรญneas 1-2: Importar paquetes de selenio.
  • Code lรญnea 4: Inicializar Firefox mediante la creaciรณn de un objeto.
  • Code lรญnea 6: Obtรฉn la pรกgina de inicio de sesiรณn (Facebook).
  • Code lรญneas 8-10: Obtener los campos de entrada de nombre de usuario y contraseรฑa, asรญ como el botรณn de envรญo.
  • Code lรญneas 11-12: Introduzca los datos en los campos de nombre de usuario y contraseรฑa.
  • Code lรญnea 14: Haga clic en el botรณn "Enviar".
  • Code lรญnea 15: Crea un objeto de espera con un tiempo de espera de 5 segundos.
  • Code lรญnea 16: Captura el tรญtulo del objeto โ€œnavegadorโ€.
  • Code lรญnea 17: Prueba la cadena de tรญtulo capturada con โ€œFacebookโ€.

Por que elegir Python mรกs del Java in Selenium

Algunos puntos que favorecen Python mรกs del Java para usar con Selenium son:

  1. Java Los programas tienden a ejecutarse mรกs lento en comparaciรณn con Python
  2. Java utiliza los corchetes tradicionales para comenzar y terminar los bloques, mientras que Python utiliza sangrรญa.
  3. Java emplea tipo estรกticoping, mientras Python se escribe dinรกmicamente.
  4. Python es mรกs simple y compacto en comparaciรณn con Java.

Preguntas Frecuentes

Ejecuta pip install selenium. Moderno Selenium naves con Selenium El gestor descarga automรกticamente el controlador del navegador correspondiente, por lo que no es necesaria ninguna configuraciรณn manual de chromedriver.

WebDriver es el Selenium interfaz que controla un navegador real, enviando comandos a Firefox, Chrome o Edge para controlar la navegaciรณn, los clics y la entrada de formularios.

Selenium 4 eliminado find_element_by_id. Use la clase By: from selenium.webdriver.common.by import By, luego driver.find_element(By.ID, โ€œemailโ€).

La espera implรญcita consulta el DOM durante un tiempo determinado. La espera explรญcita (WebDriverWait) se detiene hasta que se cumple una condiciรณn especรญfica. Evite combinarlas para prevenir tiempos impredecibles.

No. PyDev in Eclipse es una opciรณn. Tambiรฉn puedes ejecutar Selenium Python guiones en PyCharm, VS Codeo desde la lรญnea de comandos.

Selenium WebDriver admite FirefoxChrome, Edge, Safari e Internet Explorer. Lo mismo. Python El script se ejecuta sobre ellos mediante intercambio.ping el conductor.

Sรญ. Los asistentes de IA como ChatGPT convierten una descripciรณn de prueba en lenguaje sencillo en Selenium Python codificar, sugerir localizadores y convertir las antiguas llamadas find_element_by_id a la sintaxis By.

Sรญ. GitHub Copilot sugiere localizadores estables, explica los errores NoSuchElementException y recomienda esperas explรญcitas, lo que reduce las pruebas inestables en pรกginas dinรกmicas.

Resumir este post con: