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