如何从浏览器保存.pdf?

布拉斯

我尝试使用在stackoverflow上发现的不同方法来保存.pdf文件FileUtils IO,但是,我总是会损坏它。当我使用记事本打开损坏的文件时,我得到以下信息:

<HEAD>

    <TITLE>
        09010b129fasdf558a-
    </TITLE>

</HEAD>


<HTML>

<SCRIPT language="javascript" src="./js/windowClose.js"></SCRIPT>

<LINK href="./theme/default.css" rel="stylesheet" type="text/css">
<LINK href="./theme/additions.css" rel="stylesheet" type="text/css">

<BODY leftmargin="0" topmargin="0">

<TABLE cellpadding="0" cellspacing="0" width="100%">
    <TR>
        <TD class="mainSectionHeader">
            <A href="javascript:windowClose()" class="allLinks">
                CLOSE
            </A>
        </TD>

    </TR>

</TABLE>

                <script language='javaScript'>
                    alert('Session timed out. Please login again.\n');
                    window.close();
                </script>



</BODY>

</HTML>

后来,我尝试.pdf使用@BalusC提供的答案从浏览器中保存文件。这个解决方案非常有帮助:我能够摆脱这些session问题。但是,它也会产生损坏的.pdf。但是当我用记事本打开它时,它是完全不同的。但是,不再存在登录问题:

<HTML>

    <HEAD>

        <TITLE>
            Evidence System
        </TITLE>

    </HEAD>

<LINK href="./theme/default.css" rel="stylesheet" type="text/css">

<TABLE cellpadding="0" cellspacing="0" class="tableWidth760" align="center">
    <TR>
        <TD class="headerTextCtr">
            Evidence System
        </TD>
    </TR>
    <TR>
        <TD colspan="2">
            <HR size="1" noshade>
        </TD>
    </TR>
    <TR>
        <TD colspan="2">



<HTML>
<HEAD>
<link href="./theme/default.css" rel="stylesheet" type="text/css">
<script language="JavaScript">

function trim(str)
{
    var trmd_str

    if(str != "")
    {
        trmd_str = str.replace(/\s*/, "")
        if (trmd_str != ""){

            trmd_str = trmd_str.replace(/\s*$/, "")
        }

    }else{
        trmd_str = str
    }
    return trmd_str
}  

function validate(frm){
    //check for User name 
    var msg="";
    if(trim(frm.userName.value)==""){
        msg += "Please enter your user id.\n";
        frm.userName.focus();
    }

    if(trim(frm.password.value)==""){
        msg += "Please enter your password.\n";
        frm.userName.focus();
    }

    if (trim(msg)==""){
        frm.submit();
    }else{
        alert(msg);
    }
}

function numCheck(event,frm){
    if( event.keyCode == 13){
            validate(frm);  
    }
}

</script>
</HEAD>

<BODY onLoad="document.frmLogin.userName.focus();">

<FORM name='frmLogin' method='post' action='./ServletVerify'>
    <TABLE width="100%" cellspacing="20">
        <tr>
            <td class="mainTextRt">
                Username
                <input type="text" name="userName" maxlength="32" tabindex="1" value="" 
                onKeyPress="numCheck(event,this.form)" class="formTextField120">
            </TD>
            <td class="mainTextLt">
                Password
                <input type="password" name="password" maxlength="32" tabindex="2" value="" 
                onKeyPress="numCheck(event,this.form)" class="formTextField120">
            </TD>
        </TR>

        <tr>                    
            <td colspan="2" class="mainTextCtr" style="color:red">
                Unknown Error
            </td>
        </tr>

        <tr>
            <td colspan="2" class="mainTextCtr">
                <input type="button" tabindex="3" value="Submit" onclick="validate(this.form)" >
            </TD>
        </TR>
    </TABLE>

    <INPUT TYPE="hidden" NAME="actionFlag" VALUE="inbox">
</FORM>

</BODY>
</HTML>

        </TD>
    </TR>
    <TR>
        <TD height="2"></TD>
    </TR>
    <TR>
        <TD colspan="2">
            <HR size="1" noshade>
        </TD>
    </TR>
    <TR>
        <TD colspan="2">
            <LINK href="./theme/default.css" rel="stylesheet" type="text/css">

<TABLE width="80%" align="center" cellspacing="0" cellpadding="0">
    <TR>
        <TD class="footerSubtext">
            Evidence Management System
        </TD>
    </TR>

    <!-- For development builds, change the date accordingly when sending EAR files out to Wal-Mart -->
    <TR>
        <TD class="footerSubtext">
            Build:&nbsp;&nbsp;v3.1
        </TD>
    </TR>

</TABLE>
        </TD>
    </TR>
</TABLE>

</HTML>

我还有什么其他选择?

PS:当我尝试使用手动保存文件时CTRL+Shift+S,文件将保存确定。

BalusC

从似乎只是HTML错误页面的错误响应中:

警报(“会话超时。请重新登录。\ n');

因此,似乎需要在有效的HTTP会话中下载PDF文件。HTTP会话由cookie支持。HTTP会话反过来通常在服务器端包含有关当前活动和/或已登录用户的信息。

Selenium Web驱动程序自身完全透明地管理cookie。您可以通过编程方式获取它们,如下所示:

Set<Cookie> cookies = driver.manage().getCookies();

手动摆弄java.net.URLSelenium的外部控制时,应确保自己自己,URL连接使用的是相同的cookie(并因此也维持相同的HTTP会话)。您可以在URL连接上设置cookie,如下所示:

URLConnection connection = new URL(driver.getCurrentUrl()).openConnection();

for (Cookie cookie : driver.manage().getCookies()) {
    String cookieHeader = cookie.getName() + "=" + cookie.getValue();
    connection.addRequestProperty("Cookie", cookieHeader);
}

InputStream input = connection.getInputStream(); // Write this to file.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从浏览器保存.pdf?

来自分类Dev

如何指定用于从浏览器保存pdf的名称

来自分类Dev

如何保存在没有URL的浏览器窗口中弹出的.pdf文件?

来自分类Dev

浏览器如何支持PDF查看以及哪些浏览器

来自分类Dev

如何指示Chrome浏览器下载PDF而不是在浏览器中预览(预览)?

来自分类Dev

编辑嵌入在浏览器中的pdf并将pdf直接保存到服务器

来自分类Dev

如何在Android浏览器中打开pdf文件?

来自分类Dev

如何在浏览器上显示pdf?

来自分类Dev

如何在浏览器中设置PDF文件的标题?

来自分类Dev

如何使用Web浏览器对象显示pdf文件

来自分类Dev

如何在android浏览器中打开pdf文件?

来自分类Dev

如何在浏览器上显示pdf?

来自分类Dev

如何从嵌入式pdf与浏览器进行通信

来自分类Dev

如何使用Python在浏览器中预览pdf文件?

来自分类Dev

在浏览器上显示PDF

来自分类Dev

PDF专用的文件浏览器

来自分类Dev

在浏览器中查看 pdf 流

来自分类Dev

Google Chrome浏览器在哪里保存临时pdf文件?

来自分类Dev

Chrome浏览器不断询问您是否保存PDF,但从未打开它

来自分类Dev

使用 Ubuntu 18.04 从浏览器保存 pdf 文件时出现问题

来自分类Dev

如何在通过Rails控制器检索的浏览器中呈现PDF

来自分类Dev

如何知道浏览器是否具有PDF查看器?

来自分类Dev

如何将PDF输出发送到浏览器打印选项(CTRL + P)

来自分类Dev

如何使用浏览器在Firefox / IE / Chrome中显示ppt / doc / xls / pdf

来自分类Dev

如何使用浏览器的(chrome / firefox)HTML / CSS / JS渲染引擎生成PDF?

来自分类Dev

如何在Chrome和Firefox浏览器中显示3D PDF

来自分类Dev

如何从Amazon S3以PDF格式读取文件流并在浏览器中显示

来自分类Dev

如何强制浏览器在ASP.NET Webforms中下载而不是查看PDF文档

来自分类Dev

如何突出显示在Web浏览器中打开的pdf中的文本

Related 相关文章

  1. 1

    如何从浏览器保存.pdf?

  2. 2

    如何指定用于从浏览器保存pdf的名称

  3. 3

    如何保存在没有URL的浏览器窗口中弹出的.pdf文件?

  4. 4

    浏览器如何支持PDF查看以及哪些浏览器

  5. 5

    如何指示Chrome浏览器下载PDF而不是在浏览器中预览(预览)?

  6. 6

    编辑嵌入在浏览器中的pdf并将pdf直接保存到服务器

  7. 7

    如何在Android浏览器中打开pdf文件?

  8. 8

    如何在浏览器上显示pdf?

  9. 9

    如何在浏览器中设置PDF文件的标题?

  10. 10

    如何使用Web浏览器对象显示pdf文件

  11. 11

    如何在android浏览器中打开pdf文件?

  12. 12

    如何在浏览器上显示pdf?

  13. 13

    如何从嵌入式pdf与浏览器进行通信

  14. 14

    如何使用Python在浏览器中预览pdf文件?

  15. 15

    在浏览器上显示PDF

  16. 16

    PDF专用的文件浏览器

  17. 17

    在浏览器中查看 pdf 流

  18. 18

    Google Chrome浏览器在哪里保存临时pdf文件?

  19. 19

    Chrome浏览器不断询问您是否保存PDF,但从未打开它

  20. 20

    使用 Ubuntu 18.04 从浏览器保存 pdf 文件时出现问题

  21. 21

    如何在通过Rails控制器检索的浏览器中呈现PDF

  22. 22

    如何知道浏览器是否具有PDF查看器?

  23. 23

    如何将PDF输出发送到浏览器打印选项(CTRL + P)

  24. 24

    如何使用浏览器在Firefox / IE / Chrome中显示ppt / doc / xls / pdf

  25. 25

    如何使用浏览器的(chrome / firefox)HTML / CSS / JS渲染引擎生成PDF?

  26. 26

    如何在Chrome和Firefox浏览器中显示3D PDF

  27. 27

    如何从Amazon S3以PDF格式读取文件流并在浏览器中显示

  28. 28

    如何强制浏览器在ASP.NET Webforms中下载而不是查看PDF文档

  29. 29

    如何突出显示在Web浏览器中打开的pdf中的文本

热门标签

归档