Selenium可以验证浏览器加载的PDF中的文本吗?

我的Web应用程序在浏览器中加载了pdf。我想通了如何使用以下方法检查pdf是否已正确加载:

verifyAttribute xpath = // embed / @ src {PDF的网址在此处}

能够使用Selenium检查pdf的内容真的很好-例如,验证是否存在某些文本。有什么办法吗?

回答:

尽管本机不支持,但我发现了使用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,然后使用PDFBox将pdf转换为文本,请参见http://www.prasannatech.net/2009/01/convert-

pdf-text-parser-java-api-pdfbox

.html,以获取有关如何执行此操作的示例。

以上是 Selenium可以验证浏览器加载的PDF中的文本吗? 的全部内容, 来源链接: utcz.com/qa/411400.html

回到顶部