繁体   English   中英

java.io.FileNotFoundException: c:\\screenshot.png (Access is denied) 尝试将屏幕截图粘贴到系统文件夹时出错

[英]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 DestFile=new File("c:\screenshot.png"); 

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

创建新File您需要提供绝对路径,包括root directory (即C: sub-directoryfilename

实际上,您需要按如下方式更改该行:

File DestFile=new File("C:\\some_sub_directory\\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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM