Aunque no es compatible de forma nativa, he encontrado un par de formas utilizando el controlador Java. Una forma es tener el pdf abierto en su navegador (con Adobe Acrobat instalado) y luego usar las teclas de método abreviado para seleccionar todo el texto (CTRL + A), luego copiarlo en el portapapeles (CTRL + C) y luego verificar el texto en el portapapeles por ejemplo:
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"));
}
Otra manera, todavía en java, es descargar el pdf y luego convertir el PDF a texto con PDFBox, ver http://www.prasannatech.net/2009/01/convert-pdf-text-parser-java-api-pdfbox.html para un ejemplo de cómo hacer esto.
Supongo que usted está hablando de un archivo PDF procesado incrustado en una página a través de un tipo de complemento de terceros, ¿no? –
Hmm, sí, el plugin de Adobe PDF para Firefox, supongo. Aunque no estoy demasiado atada a eso, si hay algo que pueda probar sobre este pdf usando Selenium, entonces estoy interesado. –