使用Selenium Java进行屏幕捕获时将显示新窗口

时间:2019-01-08 03:41:48

标签: java selenium automation krypton

有没有办法在类中不为您的屏幕截图代码提示一个新窗口?

这是我在代码中调用该类的地方:

findText(By.xpath("//*[text()='Table']")).click
pause(3)
findLink(By.cssSelector("button.btn.btn-link[aria-label='Maximize']")).click

new takesScreenshot();

findLink(By.cssSelector("button.btn.btn-link[aria-label='Dashlet Actions']")).click

这是我的屏幕截图类代码:

public class takesScreenshot   {


 {
    WebDriver driver = new ChromeDriver();
    File tempFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    try {
        FileUtils.copyFile(tempFile,new File( "C:\\Screenshots\\"+ "SS1" + ".png"));
       } catch (IOException e) {
        // TODO handle exception
    }

现在,当该类被调用时,它会提示一个新窗口,这就是为什么我无法对应该捕获的内容进行截图,请帮忙谢谢!

1 个答案:

答案 0 :(得分:3)

它是因为您要在takeScreenshot方法中启动新的Chrome驱动程序实例。删除该行:

WebDriver driver = new ChromeDriver();

如果需要驱动程序实例,则可能需要将其传递给takeScreenshot方法