Как обрабатывать PDF-документы на основе окон

0
задан Pearly Spencer 13 July 2018 в 08:56
поделиться

1 ответ

К сожалению, трудно выполнить операции с pdf путем переключения вкладок. Лучший способ - загрузить pdf-файл и выполнить операции с загруженным файлом с помощью некоторой java-библиотеки или pdf-парсера.

Это обычное поведение pdf связано с включенной функцией pdf js. Отключение этого в профиле firefox может решить вашу проблему

. Обновление профиля Firefox разрешает эту проблему.

       FirefoxProfile profile = new FirefoxProfile();

       profile.setPreference( "pdfjs.disabled", true );
       profile.setPreference("pdfjs.disabled", true );
       profile.setPreference("pdfjs.enabledCache.state", false );
       profile.setPreference("pdfjs.enabledCache.state", false);
       profile.setPreference("pdfjs.migrationVersion", 2);

       profile.setPreference("pdfjs.previousHandler.alwaysAskBeforeHandling", true);
       profile.setPreference("pdfjs.previousHandler.preferredAction", 4);

       FirefoxOptions options = new FirefoxOptions().setProfile(profile);
       WebDriver driver = new FirefoxDriver(options);

, который останавливает открытие PDF в новом окне, а затем вы можете реализовать метод для загрузки файла и разбора загруженного файла.

Надеюсь, это поможет вам:)

1
ответ дан Bhargav Marpu 17 August 2018 в 13:23
поделиться
  • 1
    Спасибо Bhargav, но при использовании gecko driver 21.0 с последней версией fire fox 61.0.1 для обработки окон я получаю & quot; java.net.SocketException: программное обеспечение вызвало прерывание соединения: recv failed & quot; когда я отлаживаю код, я получаю исключение выше для инструкции driver.getWindowhandle (). Могли бы вы, пожалуйста, позвольте мне помочь в этом – Tagore Ravindra 16 July 2018 в 09:55
  • 2
    Этот код отлично работает в ff 58, я тестировал в ff 61 и заметил, что нам нужно немного больше настроек, чтобы заставить его работать. Я обновил предыдущее решение. Это должно загрузить файл PDF автоматически, попробуйте это и дайте мне знать – Bhargav Marpu 24 July 2018 в 12:15
Другие вопросы по тегам:

Похожие вопросы: