Python: abrir varias pestañas con Selenium

La prueba es un concepto importante en la metodología del software. Se dice que el software es efectivo y eficiente solo si está libre de errores. Las pruebas se pueden hacer manualmente y también a través de la automatización. En Python, el selenium se usa para realizar pruebas automatizadas. El paquete Selenium está disponible y es muy útil para automatizar la interacción del navegador web desde Python. 

En este artículo, vamos a discutir cómo abrir múltiples pestañas usando selenium.

Instalación

pip install selenium

Requisitos del controlador Selenium para diferentes navegadores:

Cada navegador es diferente y, de manera similar, requieren diferentes controladores web de selenium.

Los navegadores populares como Chrome, Firefox, etc., y su ruta de descarga del controlador web se indican a continuación

Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads
Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Firefox: https://github.com/mozilla/geckodriver/releases
Safari: https://webkit.org/blog/6900/webdriver-support-in-safari-10

Para empezar, veamos un ejemplo normal de abrir un navegador firefox

Pasos requeridos:

  • Necesitamos Geckodriver para abrir el navegador Firefox. Se puede descargar desde https://github.com/mozilla/geckodriver/releases . Debe configurarse en la variable «Ruta» en Windows y también en Linux y Mac, en las ubicaciones respectivas debe configurarse.
  • Abra un nuevo navegador Firefox desde Python.
  • Luego cargue la página en la URL válida dada.

Python3

# Necessary webdrivers ned to be imported
from selenium import webdriver
  
# This is for Firefox. Similarly if 
# chrome is needed , then it has to be specified
webBrowser = webdriver.Firefox()
  
# This will open geeksforgeeks site in Firefox
webBrowser.get('https://www.geeksforgeeks.org/')

Al ejecutar el código, podemos ver las acciones que se muestran a continuación:

Maneras de abrir múltiples pestañas usando Selenium:

  • Después de especificar el controlador Firefox/Chrome para selenium, primero debemos abrir una página web
  • Necesitamos llamar al método «execute_script» que a su vez ejecuta javascript window.open(‘about:blank’, ‘secondtab’).
  • Luego, debemos cambiar a esa pestaña y para esa pestaña podemos proporcionar cualquier URL válida.

Python3

# Necessary webdrivers ned to be imported
from selenium import webdriver
  
# This is for Firefox. Similarly if 
# chrome is needed , then it has to be specified
webBrowser = webdriver.Firefox()
  
# first tab. Open google.com in the first tab
webBrowser.get('http://google.com')
  
# second tab
# execute_script->Executes JavaScript snippet. 
# Here the snippet is window.open that means, it 
# opens in a new browser tab
webBrowser.execute_script("window.open('about:blank', 
                          'secondtab');")
  
# It is switching to second tab now
webBrowser.switch_to.window("secondtab")
  
# In the second tab, it opens geeksforgeeks
webBrowser.get('https://www.geeksforgeeks.org/')

Producción:

El mismo programa anterior también se puede ejecutar utilizando el controlador Chrome. El controlador de Chrome es específico de la versión y, por lo tanto, la versión respectiva de su navegador Chrome, necesitamos descargar

Un pequeño cambio en el código anterior es que en lugar de «webdriver.Firefox()», deberíamos tener webdriver.Chrome()

Veamos cómo abrir 3 pestañas usando el controlador Chrome ahora

Python3

# Necessary webdrivers ned to be imported
from selenium import webdriver
# Get the instance of the webBrowser 
# window, here we are using Chrome
webBrowser = webdriver.Chrome()
  
# Lets open google.com in the first tab
webBrowser.get('http://google.com')
  
# Lets open https://www.bing.com/ in the second tab
webBrowser.execute_script("window.open('about:blank', 
                          'secondtab');")
webBrowser.switch_to.window("secondtab")
webBrowser.get('https://www.bing.com/')
  
# Lets open https://www.facebook.com/ in the third tab
webBrowser.execute_script("window.open('about:blank', 
                          'thirdtab');")
webBrowser.switch_to.window("thirdtab")
webBrowser.get('https://www.facebook.com/')

En la ejecución de los scripts, podemos ver:

Veamos cómo especificar diferentes controladores tomando el nombre del navegador como entrada y abriendo varias pestañas

Python3

# Necessary imports
from selenium import webdriver
  
  
# initially webdriver is empty
webdriver.driver = None
browserName = input("Enter your browser name(chrome/firefox/edge/ie):")
  
  
# Depends upon the browser name, drivers are selected,
# in order to check for all given 4 browser checkings, 
# all 4 drivers must be installed and they should be 
# available in "Path"
if browserName.upper() == "CHROME":
    driver = webdriver.Chrome()
elif browserName.upper() == "FIREFOX":
    driver = webdriver.Firefox()
elif browserName.upper() == "EDGE":
    
    # MicrosoftWebDriver.exe should be 
    # downloaded and available in Path
    driver = webdriver.Edge()
elif browserName.upper() == "IE":
    
    # IEDriverServer.exe should be 
    # downloaded and available in Path 
    driver = webdriver.Ie()  
else:
    print("No browser is specified")
  
      
# Lets open google.com in the first tab
driver.get('http://google.com')
  
# Lets open https://www.bing.com/ in the second tab
driver.execute_script("window.open('about:blank', 
                      'secondtab');")
driver.switch_to.window("secondtab")
driver.get('https://www.bing.com/')
  
# Lets open https://www.facebook.com/ in the third tab
driver.execute_script("window.open('about:blank', 
                      'thirdtab');")
driver.switch_to.window("thirdtab")
driver.get('https://www.facebook.com/')
  
  
# It is always good to quit the driver
# driver.quit()

Las pruebas de selenium se están aplicando en todas las industrias de software. Es más rápido y eficiente. Los errores manuales también se superaron mediante pruebas de selenium. Como en todas partes está ocurriendo la automatización, las pruebas también se realizan de manera automatizada solo hoy en día. Abrir múltiples pestañas para verificar diferentes funcionalidades es una tarea común. 

Publicación traducida automáticamente

Artículo escrito por priyarajtt 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 *