使用URL的PDF自动化';这是已经打开的东西的延续

本文关键字:延续 PDF URL 自动化 使用 | 更新日期: 2023-09-27 18:19:37

目前我正在使用c#和PDFBox的Selenium Webdriver来自动处理报告的PDF文本。现在,使用PDFBox,我们可以解析给定URL链接的pdf,URL=新URL("pdf链接");但是,这会在没有先决条件的情况下直接获取URL链接。

如果我使用直接的URL地址访问PDF,我会得到一个"找不到资源"的错误。我基本上需要登录到应用程序,并选择我需要的报告,以便加载实际的PDF。它具有相同的地址,只是它是在应用程序中加载的,而不是直接加载的。我该如何将Selenium与PDFbox联系起来?,这样,代码就不会打开一个直接指向"拒绝权限"URL的新URL,而是指向屏幕上已经预装的具有相同URL地址的PDF报告?

         URL url = new URL("link of url");
    BufferedInputStream input = new  BufferedInputStream(url.openStream());
        PDFParser parsepdf = new PDFParser(input);
        parsepdf.parse();
        textofpdf = new PDFTextStripper().getText(parsepdf.getPDDocument())

因此,本质上,我有一个SeleniumTest类,它执行登录和打开Report的功能。之后,我调用上面的PDFParse方法。这个方法当前的作用就像加载了一个新的URL,而不是继续当前的Selenium会话。

使用URL的PDF自动化';这是已经打开的东西的延续

区块报价

试试这个:

    PDFTextStripper pdfStripper = null;
    PDDocument pdDoc = null;
    COSDocument cosDoc = null;
    String parsedText = null;
        URL url = new URL(strURL);
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new         InetSocketAddress("172.18.65.50", 8080));
        URLConnection urlc = url.openConnection(proxy);
        urlc.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0a2) Gecko/20110613 Firefox/6.0a2");
       RandomAccessBufferedFileInputStream file = new RandomAccessBufferedFileInputStream(urlc.getInputStream());
        PDFParser parser = new PDFParser(file);         
        parser.parse();
        cosDoc = parser.getDocument();
        pdfStripper = new PDFTextStripper();
        pdfStripper.setStartPage(1);
        pdfStripper.setEndPage(1);
        pdDoc = new PDDocument(cosDoc);
        parsedText = pdfStripper.getText(pdDoc);