【问题标题】:Taking screenshot in selenium webdriver in Chrome browser在 Chrome 浏览器中使用 selenium webdriver 截屏
【发布时间】:2017-04-13 07:44:58
【问题描述】:

我正在学习 selenium Webdriver。我试图在 chrome 浏览器上截屏,但下面的代码出现异常(注意:同一段代码适用于 Firefox)。请帮我在 Chrome 上截屏,请有人解释一下为什么下面的代码在 Chrome 上不起作用。

public class ScreenShot 
{
    public static void main(String[] args) throws IOException 
    {
        String key  = "webdriver.chrome.driver";
        String value = "./driver/chromedriver.exe";
        System.setProperty(key, value);
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.google.co.in");
        TakesScreenshot screen = (TakesScreenshot) driver;
        File srcFile = screen.getScreenshotAs(OutputType.FILE);
        File destFile = new File("d:/google.png");
        FileUtils.copyFile(srcFile, destFile);
    }
}       

【问题讨论】:

  • 你遇到了什么异常?
  • 打印您的堆栈跟踪并确保您的 chromedriver 存在于该位置。

标签: java google-chrome selenium selenium-chromedriver


【解决方案1】:
import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;

public static String captureScreenshot (WebDriver driver, String screenshotName){

    try {
        TakesScreenshot ts = (TakesScreenshot)driver;
        File source = ts.getScreenshotAs(OutputType.FILE);
        String dest = "/Users/CD6255ABQA/Desktop/Debug Images/" + screenshotName + ".png";
        File destination = new File(dest);
        FileUtils.copyFile(source, destination);
        return dest;
        } 

    catch (IOException e) {return e.getMessage();}
    }

调用它使用

String screenpath = captureScreenshot(driver, "ScreenshotName")

记得在方法中更改文件目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-13
    • 2021-05-16
    • 2022-10-02
    • 2012-04-08
    • 1970-01-01
    • 2014-08-08
    • 2013-05-27
    • 2012-05-08
    相关资源
    最近更新 更多