Chociaż nie natywnie obsługiwany, znalazłem kilka sposobów, za pomocą sterownika Java. Jednym ze sposobów jest otwarcie pdf w przeglądarce (po zainstalowaniu programu Adobe Acrobat), a następnie użycie klawiszy skrótów klawiaturowych w celu zaznaczenia całego tekstu (CTRL + A), a następnie skopiowanie go do schowka (CTRL + C), a następnie zweryfikowanie tekst w schowku. np:
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"));
}
Innym sposobem, nadal w java, jest, aby pobrać plik PDF, a następnie przekonwertować PDF do tekstu z PDFBox, patrz http://www.prasannatech.net/2009/01/convert-pdf-text-parser-java-api-pdfbox.html na przykład o tym, jak to zrobić.
Domyślam się, że mówisz o pliku PDF, który został osadzony na stronie za pomocą wtyczki innej firmy, prawda? –
Hmm tak, wtyczka Adobe PDF dla Firefoxa, jak sądzę. Nie jestem do tego zbyt przywiązany - jeśli cokolwiek mogę przetestować na temat tego pliku PDF za pomocą Selenium, to jestem zainteresowany. –