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.

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.
El siguiente paso es instalar el โpydev IDEโ para Eclipse.
Paso 2) En este paso:
- Busque โhttp://pydev.org/updatesโ en Trabajar con y luego
- Seleccione todos los elementos de la lista y haga clic en Siguiente dos veces.
- Acepte el Acuerdo de Licencia y haga clic en Finalizar.
Paso 3) Es posible que aparezca una advertencia de seguridad. Haga clic en "Instalar de todos modos".
Paso 4) Establece preferencias para que puedas usar Python Segรบn las necesidades del proyecto. Vaya a Ventana > Preferencias > PyDev > Intรฉrprete > Python Interprete.
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.
Paso 5) En este paso, proporcione el โnombre del intรฉrpreteโ y la ruta del archivo โexeโ de Python.
- Haga clic en 'Explorar' y busque python.exe donde lo instalรณ Python.
- Haga clic en el botรณn "Aceptar".
- Seleccione todas las carpetas y haga clic en Aceptar.
- Haga clic en "Aplicar y cerrar".
Paso 6) Crear un nuevo proyecto en Python. En este paso:
- Haga clic derecho PyDev Explorador de paquetes > Nuevo.
- Seleccione la opciรณn otros.
- Selecciona "PyDev > PyDev Proyecto".
- Pulse el botรณn 'Siguiente'.
- Nombra tu proyecto.
- Haga clic en "Finalizar".
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
- Haga clic derecho en Proyecto > Nuevo > PyDev Paquete.
- Asigne un nombre a su paquete y haga clic en Finalizar.
Paso 8) Como puede observar en la captura de pantalla a continuaciรณn, se ha creado un nuevo paquete.
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 .
Asigne un nombre a su mรณdulo y haga clic en โFinalizarโ.
Seleccione Plantilla vacรญa y haga clic en โAceptarโ.
Paso 10) Escribe tu cรณdigo para Selenium con Python como se muestra a continuaciรณn.
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
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.
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).
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
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:
- Java Los programas tienden a ejecutarse mรกs lento en comparaciรณn con Python
- Java utiliza los corchetes tradicionales para comenzar y terminar los bloques, mientras que Python utiliza sangrรญa.
- Java emplea tipo estรกticoping, mientras Python se escribe dinรกmicamente.
- Python es mรกs simple y compacto en comparaciรณn con Java.




















