java.io.FileNotFoundException: c:\screenshot.png (访问被拒绝) 尝试将屏幕截图粘贴到系统文件夹时出错

java.io.FileNotFoundException: c:\screenshot.png (Access is denied) error while trying to paste the screenshot to a system folder

public class Automate1 { 
    public static void main(String[] args) throws IOException { 

        System.setProperty("webdriver.chrome.driver","C:\Users\DELL\Downloads\chromedriver.exe"); 
        WebDriver driver=new ChromeDriver(); 
        driver.manage().window().maximize(); 
        driver.manage().deleteAllCookies(); 
        driver.get("https://www.amazon.in"); 
        Select SC=new Select(driver.findElement(By.xpath("//select[@id='searchDropdownBox']"))); 
        //Selecting an option from drop down by using Select class
        SC.selectByVisibleText("Books"); driver.findElement(By.xpath("//input[@id=\"twotabsearchtextbox\"]")).sendKeys("The God Father"); 
        driver.findElement(By.xpath("//input[@class=\"nav-input\"]")).click(); 
        JavascriptExecutor Scroll = ((JavascriptExecutor) driver); 
        //For Scrolling Functionality 
        Scroll.executeScript("scroll(0,800)"); 
        //Scrolling Up
        Scroll.executeScript("scroll(0,-200)"); 
        //Scrolling down 
        driver.findElement(By.linkText("The Godfather")).click(); 
        ArrayList Handles=new ArrayList(driver.getWindowHandles()); 
        driver.switchTo().window(Handles.get(1)); 
        Select Q=new Select(driver.findElement(By.id("quantity"))); 
        Q.selectByIndex(1); 
        driver.findElement(By.id("add-to-cart-button")).click(); 
        driver.close(); 
        driver.switchTo().window(Handles.get(0)); 
        TakesScreenshot scrShot =((TakesScreenshot)driver); 
        File SrcFile=scrShot.getScreenshotAs(OutputType.FILE); 
        File DestFile=new File("c:\screenshot.png"); 
        FileUtils.copyFile(SrcFile, DestFile);

错误:

Exception in thread "main" java.io.FileNotFoundException: c:\screenshot.png (Access is denied)

创建新的 File 时,您需要根据 root directory(即 C:)、sub-directoryfilename

有效,您需要将行更改如下:

File DestFile=new File("C:\some_sub_directory\screenshot.png");

替换

File DestFile=new File("c:\screenshot.png"); 

File DestFile=new File("c:/screenshot/screenshot.png"); 
File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
try {
    FileUtils.copyFile(srcFile,
        new File("C:\Users\User\OneDrive\Pictures\Screenshots\Selenium\img.png"));
} catch (Exception e) {
    e.printStackTrace();
}