Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在selenium中为新窗口截图,截图完成后,应导航回上一页_Selenium_Selenium Webdriver - Fatal编程技术网

如何在selenium中为新窗口截图,截图完成后,应导航回上一页

如何在selenium中为新窗口截图,截图完成后,应导航回上一页,selenium,selenium-webdriver,Selenium,Selenium Webdriver,我用下面的代码为一个新窗口截图,但它是为上一个窗口截图 driver.findElement(By.xpath("html/body/div[2]/div[1]/div[1]/div[1]/a")).click(); Thread.sleep(15000); File scrFile18 = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile18, new File("d

我用下面的代码为一个新窗口截图,但它是为上一个窗口截图

driver.findElement(By.xpath("html/body/div[2]/div[1]/div[1]/div[1]/a")).click();  
Thread.sleep(15000);
File scrFile18 = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile18, new File("d:/Users/ Updates.png"));

在截图之前,您需要切换到新窗口。请看一下这个

检查一下

var webdriver = require('selenium-webdriver');
    var fs = require('fs');

    var driver = new webdriver.Builder().build();

    webdriver.WebDriver.prototype.saveScreenshot = function(filename) {
        return driver.takeScreenshot().then(function(data) {
            fs.writeFile(filename, data.replace(/^data:image\/png;base64,/,''), 'base64', function(err) {
                if(err) throw err;
            });
        })
    };


    // example usage
    driver.saveScreenshot('mypage.png');
WebDriver driver;
driver=new FirefoxDriver();
driver.manage().window().maximize();//maximize
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);//wait
driver.get("http://www.dittotv.com/");//url
driver.findElement(By.xpath("//img[@alt='Windows']")).click();
String parentHandle = driver.getWindowHandle();

for (String winHandle : driver.getWindowHandles()) {
    driver.switchTo().window(winHandle); 
}
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("E:\\screenshot.jpg"));``
driver.close();
driver.switchTo().window(parentHandle);