试图定位文件时,Dot(.)运算符不起作用



在selenium中截屏时,如果我使用句点(.(运算符提及目标文件夹路径而不是完整路径,则代码返回错误:

java.io.FileNotFoundException:.\Screenshot\shot1.jpeg(系统找不到指定的路径(

我正在为文件夹变量使用点运算符。根据我的理解,点的意思是,它代表项目文件夹。然而,如果我使用实际路径";F:/SeleniumRevisit/Screenshot/shot1.jpeg";,代码运行正常,没有任何问题。我的项目文件夹是SeleniumRevisit,它位于F:drive中。如有任何帮助,我们将不胜感激。

代码:

import java.io.File;
import java.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.io.FileHandler;
public class Screenshot_getScreenshotAs 
{
public static void main(String[] args) throws InterruptedException, IOException 
{
String key="webdriver.chrome.driver";
String value="./Drivers/chromedriver.exe";
System.setProperty(key,value);
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://demo.guru99.com/test/simple_context_menu.html");
Thread.sleep(2000);
TakesScreenshot ts=(TakesScreenshot) driver;
File src=ts.getScreenshotAs(OutputType.FILE);
File dst=new File("./Screenshot/shot1.jpeg");       
FileHandler.copy(src,dst);
}
}

//要捕获屏幕截图并保存目的地,请使用此代码。文件截图=((TakesScreenshot(驱动程序(.getScreenshotAs(OutputType.File(;

//BY try catch block.
try {
FileUtils.copyFile(screenshot, new 
File("C:\projectScreenshots\homePageScreenshot.png"));
} catch (IOException e) {
System.out.println(e.getMessage());
}

您可以尝试使用user.dir来提供文件夹和屏幕截图名称

public static void fullPageScreenShot() {
String screens = System.getProperty("user.dir") + 
"./Screenshot/shot1.jpeg";
File screenshot = 
((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
try {
FileHandler.copy(screenshot, new File(screens));
} catch (IOException e) {
System.out.println(e.getMessage());
}
//closing the webdriver
driver.close();
}

相关内容

  • 没有找到相关文章

最新更新