Saltar al contenido

¿Cómo puedo tomar una captura de pantalla con Selenium WebDriver?

Si encuentras algún detalle que no entiendes puedes comentarlo y te ayudaremos tan rápido como podamos.

Solución:

Java

Sí, es posible. El siguiente ejemplo está en Java:

WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com/");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy somewhere
FileUtils.copyFile(scrFile, new File("c:\tmp\screenshot.png"));

Pitón

Cada WebDriver tiene un .save_screenshot(filename) método. Entonces, para Firefox, se puede usar así:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://www.google.com/')
browser.save_screenshot('screenie.png')

Confusamente, un .get_screenshot_as_file(filename) También existe un método que hace lo mismo.

También existen métodos para: .get_screenshot_as_base64() (para incrustar en HTML) y .get_screenshot_as_png()(para recuperar datos binarios).

Y Nota que WebElements tiene un .screenshot() método que funciona de manera similar, pero solo captura el elemento seleccionado.

C#

public void TakeScreenshot()

    try
                
        Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot();
        ss.SaveAsFile(@"D:ScreenshotsSeleniumTestingScreenshot.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    
    catch (Exception e)
    
        Console.WriteLine(e.Message);
        throw;
    

Si tienes algún recelo o disposición de enriquecer nuestro artículo puedes realizar un informe y con deseo lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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