如何使用Selenium Java使用Krypton捕获屏幕截图

时间:2019-01-04 01:27:56

标签: java selenium selenium-webdriver screenshot krypton

File issue error on line 3 current code error for line 3如果要在使用JAVA硒的Krypton平台下捕获屏幕截图的方法/代码,我想寻求帮助。我在标准化方面遇到麻烦。谢谢!

var driver = new ChromeDriver()
driver.get("https://login.bws.birst.com/login.html/")
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE)
FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png"))

1 个答案:

答案 0 :(得分:0)

根据屏幕截图,导入/类似乎有些差异。为了使事情更简单,请在 Project Scope 中创建目标文件夹,例如下面的屏幕截图目录:

screenshot_folder

要使用 Java 捕获屏幕截图,可以使用以下解决方案:

  • 代码块:

    package screenShot;
    
    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;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;
    
    public class takesScreenshot {
    
        public static void main(String[] args) throws IOException {
    
            System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
            ChromeOptions options = new ChromeOptions();
            options.addArguments("start-maximized");
            options.addArguments("disable-infobars");
            options.addArguments("--disable-extensions"); 
            WebDriver driver =  new ChromeDriver(options);
            driver.get("https://login.bws.birst.com/login.html/");
            new WebDriverWait(driver, 20).until(ExpectedConditions.titleContains("Birst"));
            File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
            FileUtils.copyFile(scrFile, new File(".\\Screenshots\\Mads_Cruz_screenshot.png"));
        }
    }
    
  • 捕获的图像:

Mads_Cruz_screenshot