Conceptos básicos de Selenium Python

Selenium es un marco portátil para probar aplicaciones web. Selenium proporciona una herramienta de reproducción para crear pruebas funcionales sin necesidad de aprender un lenguaje de programación de pruebas. Antes de seguir adelante Consulte esta página si no ha instalado Selenium . Este artículo gira en torno a los localizadores en Selenium y varias estrategias.

Contenido

controlador web

Selenium WebDriver maneja un navegador de forma nativa, como lo haría un usuario real, ya sea localmente o en máquinas remotas. Para iniciar un navegador web, el módulo python selenium necesita webdriver. Uno puede descargarlo desde aquí para el navegador Chrome

# Python program to demonstrate
# Webdriver For Firefox
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://mbasic.facebook.com")

Cómo usar otro controlador web

# Firefox 
driver = webdriver.Firefox()
# Google Chrome 
driver = webdriver.Chrome()

Obtener la fuente de una página web/URL

Al usar esto, se puede obtener la fuente/código de la página completa de la URL/página web actualmente abierta.

# Python program Continued
# Webdriver For Firefox
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://mbasic.facebook.com")
html = driver.page_source # Getting Source of Current URL / Web-Page Loaded
print(html)
# End

Producción:
python-selenium

Es necesario revisar el código fuente de la página para crear un script automatizado de Selenium

Por ejemplo :-
python-selenium

Localización de elementos por: –

1. Identificación

Los elementos HTML tienen algún atributo «id» que se puede usar para localizar esos elementos.
Por ejemplo: – Encontrar el cuadro de entrada para el campo de correo electrónico

# Python program Continued
  
# Finding Input Box For Email Field
# Go Through the Screen Shot Above or Page Source
driver.find_element_by_id("m_login_email") 
# End

2. Nombre

Elementos HTML Tienen un atributo «nombre» asociado con ellos que se puede usar para localizar esos elementos.
Por ejemplo: – Encontrar el cuadro de entrada para el campo de contraseña

# Python program Continued
  
# Finding Input Box For Password Field
# Go Through the Screen Shot Above or Page Source
driver.find_element_by_name("pass")    
# End

3. Enlace de texto

Los elementos HTML que en realidad son un enlace a otra página se pueden ubicar utilizando ese texto de enlace en particular.
Por ejemplo: – Encontrar el campo de enlace de contraseña olvidada

# Python program Continued
  
# Finding Forgotten Password Link Field
driver.find_element_by_link_text("Forgotten password?")
# End

4. Texto de enlace parcial

Los elementos HTML que en realidad son un enlace a otra página se pueden ubicar utilizando ese texto de enlace parcial en particular.
Por ejemplo: – Encontrar el campo de enlace de contraseña olvidada

# Python program Continued
  
# Finding Forgotten Password Link Field
driver.find_element_by_partial_link_text("Forgotten password?")
# End

5. XPath

Los elementos HTML se pueden encontrar fácilmente usando este
ejemplo: – Buscar campo de entrada de correo electrónico y contraseña

# Python program Continued
  
# Creating a Reference of Form For Finding Email and Password
# Reference for Form Finding
form = driver.find_element_by_xpath("//form[@id ='login_form']")
# Email
email = form.find_element_by_name("email") 
# Password
password = form.find_element_by_name("pass") 
# End

6. Nombre de la etiqueta

Los elementos HTML se pueden encontrar fácilmente usando el nombre de la etiqueta
, por ejemplo: – Encontrar elementos usando el nombre de la etiqueta como Título, Encabezado, Cuerpo, Html, a, div, etc.

# Python program Continued
  
# Finding Title of Facebook Login Page
# Output will be "Facebook - log in or sign up"
title = driver.find_element_by_tag_name("title") 
print(title)
# End

7. Selector de CSS

Los elementos HTML se pueden encontrar fácilmente usando CSS
, por ejemplo: – Encontrar elementos usando Clase, estilo, etc.

# Python program Continued
  
# Finding Password Input Field Using Class Name "bl bm bo bp"
password = driver.find_element_by_css_selector('input.bl.bm.bo.bp')
# End

8. Nombre de la clase

Los elementos HTML se pueden encontrar fácilmente usando el nombre de la clase,
por ejemplo: – Encontrar elementos usando el nombre de la clase.

# Python program Continued
  
# Finding Password Input Field Using Class Name "bl bm bo bp"
password = driver.find_element_by_class_name('bl bm bo bp')
# End

9. Ingresar entrada en un campo de entrada usando Selenium Script

Se usa para insertar entrada en el campo de entrada usando la función incorporada send_keys.

# Python program Continued
   
# Creating a Reference of Form For Finding Email and Password
  
# Reference for Form Finding
form = driver.find_element_by_xpath("//form[@id ='login_form']") 
  
email = form.find_element_by_name("email") 
password = form.find_element_by_name("pass") 
  
# Inserting("abc@gmail.com") in the Email Input Field
email.send_keys("singh.swaraj1999@gmail.com") 
  
# Inserting("Your Facebook Password") in the Password Input Field 
password.send_keys("Your Facebook Password")   
  
# End

10. Localización del botón Enviar

Se usa para ubicar el botón Enviar que se usa para enviar un formulario

# Python program Continued
   
# Creating a Reference of Form For Finding Email and Password
form = driver.find_element_by_xpath("//form[@id ='login_form']") 
email = form.find_element_by_name("email") 
password = form.find_element_by_name("pass") 
email.send_keys("singh.swaraj1999@gmail.com")  
password.send_keys("Your Facebook Password") 
  
# Locating Submit Button
submit_button = driver.find_element_by_xpath("//input[@type ='submit']") 
submit_button.click()  # Button Click
# End

Producción:-

locators-in-selenium-3

11. Código completo para demostrar el inicio de sesión en Facebook

# Python program to demonstrate Facebook Login
from selenium import webdriver
  
driver = webdriver.Firefox()  
driver.get("https://mbasic.facebook.com")  
# Creating a Reference of Form For Finding Email and Password
form = driver.find_element_by_xpath("//form[@id ='login_form']")
email = form.find_element_by_name("email") 
password = form.find_element_by_name("pass")
email.send_keys("singh.swaraj1999@gmail.com")
password.send_keys("Your Facebook Password") 
submit_button = driver.find_element_by_xpath("//input[@type ='submit']")
submit_button.click() 
# Error Password in Output
# Because i had not used my real password here
# End

Producción:-
locators-in-selenium-4

Publicación traducida automáticamente

Artículo escrito por singhswaraj1999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *