Captura de pantalla con Selenium en Python

Manav Narula 21 junio 2023
  1. Use la función save_screenshot() para capturar una captura de pantalla usando selenium en Python
  2. Use la función get_screenshot_as_file() para capturar una captura de pantalla usando selenium en Python
  3. Use el paquete Screenshot-Selenium para capturar una captura de pantalla usando selenium en Python
  4. Conclusión
Captura de pantalla con Selenium en Python

Podemos realizar tareas utilizando un script de Python en un navegador web automatizado con selenium. Podemos capturar la pantalla del navegador como una captura de pantalla usando diferentes métodos.

Este tutorial demostrará cómo capturar una captura de pantalla del navegador automatizado utilizando selenium en Python.

Use la función save_screenshot() para capturar una captura de pantalla usando selenium en Python

El paquete selenium proporciona la función save_screenshot() para tomar una captura de pantalla de la página web abierta en el navegador automatizado.

Podemos especificar el nombre del archivo (formato PNG) y la ruta para la captura de pantalla dentro de la función. Esta función se utiliza con el objeto webdriver.

Vea el código a continuación.

from selenium import webdriver

driver = webdriver.Chrome(r"C:/driverpath/chromedriver.exe")
driver.get("https://www.delftstack.com/")
driver.save_screenshot("filename.png")

En el ejemplo anterior, creamos un objeto webdriver y creamos una conexión a la URL requerida con la función get(). Luego se utiliza la función save_screenshot() para capturar la captura de pantalla y guardarla.

Use la función get_screenshot_as_file() para capturar una captura de pantalla usando selenium en Python

La función get_screenshot_as_file() también crea un archivo con la captura de pantalla del objeto webdriver. Podemos guardar el archivo en la ruta deseada mencionándolo en la función.

Devuelve True si el archivo se crea correctamente. Si hay alguna excepción, la función devolverá False.

Por ejemplo:

from selenium import webdriver

driver = webdriver.Chrome(r"C:/driverpath/chromedriver.exe")
driver.get("https://www.delftstack.com/")
driver.get_screenshot_as_file("filename1.png")

Use el paquete Screenshot-Selenium para capturar una captura de pantalla usando selenium en Python

El paquete Selenium-Screenshot se puede utilizar para capturar capturas de pantalla de los elementos HTML del webdriver.

Este paquete es compatible con Python 3 y se puede instalar usando pip install Selenium-Screenshot. También podemos usar esto para capturar los recortes de elementos HTML individualmente.

Podemos usar la función full_screenshot() para capturar toda la ventana del navegador. Necesitamos crear un objeto de la clase Captura de pantalla primero para usar esto.

El objeto webdriver y el nombre del archivo se especifican dentro de la función full_screenshot().

Vea el código a continuación.

from selenium import webdriver
from Screenshot import Screenshot_Clipping

s = Screenshot_Clipping.Screenshot()
driver = webdriver.Chrome(r"C:/driverpath/chromedriver.exe")
driver.get("https://www.delftstack.com/")
s.full_Screenshot(driver, save_path=r".", image_name="name.png")

Usamos la función full_screenshot() en el ejemplo anterior para capturar la captura de pantalla. Proporcionamos el nombre y la ruta del archivo con el parámetro image_name y el parámetro save_path.

Conclusión

Discutimos cómo tomar capturas de pantalla usando selenium en Python. Podemos usar las funciones save_screenshot() y get_screenshot_as_file() para guardar la captura de pantalla como un archivo PNG.

Alternativamente, también podemos instalar un subpaquete llamado Selenium-Screenshot y usarlo para capturar la página web en el navegador.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python Selenium