Преобразование абсолютного пути в относительный путь для фотографии в Java

#java #selenium #relative-path #sikuli

Вопрос:

Я пытаюсь указать относительный путь к popup.jpg файл, но все время происходит сбой, что он не находит файл, и интернет не дал мне ответа, поэтому я решил спросить здесь

Это мой код:

 public class WrongDate
{
    public static void main(String[] args) throws MalformedURLException, InterruptedException, FindFailed
      {
     
 //String page = "C:\Users\kamil\OneDrive\Dokumenty\eclipse - proj\Project\popup.jpg"; 
       
 String page = "./eclipse - proj/Project/popup.jpg";  
        WebDriver driver = new ChromeDriver();
        
        driver.navigate().to("https://www.fandom.com/register?redirect=https://www.fandom.com/explore-pl?uselang=pl&cb=1618719439872");
        driver.findElement(By.xpath("/html/body/div[1]/div/div/div[2]/div[2]")).click();
        driver.findElement(By.id("signupEmail")).sendKeys("");
        driver.findElement(By.id("signupUsername")).sendKeys("");
        driver.findElement(By.id("signupPassword")).sendKeys("");
        driver.findElement(By.name("birthdate")).click();
        driver.findElement(By.name("month")).sendKeys("89");
        driver.findElement(By.name("day")).sendKeys("48");
        driver.findElement(By.name("year")).sendKeys("1567");
        driver.findElement(By.id("signupSubmit")).click();    
        Screen a = new Screen();
        a.find(page);
        //String b = driver.findElement(By.xpath("//*[@id="signupForm"]/div[3]/small")).getText();

        System.out.println(page);
      }
};
 

Комментарии:

1. вы получаете какие-либо ошибки?

Ответ №1:

 String currentWorkingDir = System.getProperty("user.dir");
 

даст вам текущий рабочий каталог, в этом случае ваша папка проекта будет текущим рабочим каталогом.

все, что вам нужно сделать, это поставить (скажем image.jpg в папке вашего проекта) и определите имя следующим образом :

 String imageName = abc.jpg
 

и используйте относительный путь вот так :

 a.find(currentWorkingDir   "\"   imageName);
 

Комментарии:

1. Я пробовал, это не работает, или я делаю что-то не так. Строка X = System.getProperty(«Проект»); Страница строки = «popup.jpg»; a.найти(X «\» страница);

2. Вам нужно написать user.dir вместо проекта в вызове system.getProperty