ОШИБКА net.sourceforge.tess4j.Tesseract - null при выполнении функции doOCR - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь захватить текст изображения, однако получаю исключение нулевого указателя, вот код, который я использую

Я проверил несколько ссылок и думаю, что проблема либо в системе Mac, либос 32/64 бит, в настоящее время я использую MacBook с 64 бит.Есть ли способ обойти эту ситуацию

  File src = 



 driver.findElement(By.id("CaptchaImage")).getScreenshotAs(OutputType.FILE);



String path = System.getProperty("user.dir")+"/screenshots/captcha.png";

    FileHandler.copy(src, new File(path));

    String path1 = System.getProperty("user.dir")+"/screenshots/captcha.png";

    ITesseract image = new Tesseract();

    String imageText = image.doOCR(new File(path1));

    System.out.println(imageText);

    imageText = imageText.replaceAll("[^a-zA-Z]", "");

    System.out.println(imageText);
    driver.findElement(By.xpath("//input[@name='CaptchaInputText']")).sendKeys(imageText);

Вот ошибка, которую я получаю:

8:57:42.210 [main] ERROR net.sourceforge.tess4j.Tesseract - null
java.lang.NullPointerException: null
at net.sourceforge.tess4j.Tesseract.dispose(Tesseract.java:819)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:239)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:194)
at com.booking.sample.come.nooking.sample.appointment.bookApointment(appointment.java:55)
at com.booking.sample.come.nooking.sample.appointment.main(appointment.java:32)
...