Хотя изначально не поддерживается, я нашел пару способов с помощью драйвера Java. Один из способов - открыть PDF в вашем браузере (с установленным adobe acrobat), а затем использовать сочетания клавиш для выбора всего текста (CTRL + A), а затем скопировать его в буфер обмена (CTRL + C), а затем вы можете проверить текст в буфере обмена. например:
protected String getLastWindow() {
return session().getEval("var windowId; for(var x in selenium.browserbot.openedWindows){windowId=x;} ");
}
@Test
public void testTextInPDF() {
session().click("link=View PDF");
String popupName = getLastWindow();
session().waitForPopUp(popupName, PAGE_LOAD_TIMEOUT);
session().selectWindow(popupName);
session().windowMaximize();
session().windowFocus();
Thread.sleep(3000);
session().keyDownNative("17"); // Stands for CTRL key
session().keyPressNative("65"); // Stands for A "ascii code for A"
session().keyUpNative("17"); //Releases CTRL key
Thread.sleep(1000);
session().keyDownNative("17"); // Stands for CTRL key
session().keyPressNative("67"); // Stands for C "ascii code for C"
session().keyUpNative("17"); //Releases CTRL key
TextTransfer textTransfer = new TextTransfer();
assertTrue(textTransfer.getClipboardContents().contains("Some text in my pdf"));
}
Другой путь, по-прежнему в Java, чтобы загрузить PDF, а затем преобразовать PDF в текст с PDFBox, см http://www.prasannatech.net/2009/01/convert-pdf-text-parser-java-api-pdfbox.html для примера о том, как это сделать.
Я думаю, вы говорите о файле PDF, который встроен в страницу через какой-то сторонний плагин, не так ли? –
Хм, да, плагин Adobe PDF для Firefox. Я не слишком привязан к этому, хотя, если есть что-нибудь вообще, я могу проверить об этом pdf, используя Selenium, тогда мне интересно. –