使用urllib和beautifulsoup查找“隐藏”标记中的值

2024-10-01 11:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否可以显示隐藏标记的值。我正在使用urllib和beauthoulsoup,但我似乎不能得到我想要的。在

im使用的html代码如下:(另存为hiddentry.html

<html>

<head>
    <script type="text/javascript">
        //change hidden elem value
        function changeValue()
        {
            document.getElementById('hiddenElem').value = 'hello matey!';
        }

        //this will verify if i have successfully changed the hiddenElem's value
        function printHidden()
        {
            document.getElementById('displayHere').innerHTML = document.getElementById('hiddenElem').value;
        }
    </script>
</head>

<body>

    <div id="hiddenDiv" style="position: absolute; left: -1500px">
        <!--i want to find the value of this element right here-->
        <span id="hiddenElem"></span>
    </div>

    <span id="displayHere"></span>

    <script type="text/javascript">
        changeValue();
        printHidden();
    </script>

</body>

</html>

我要打印的是idhiddenElem元素的值。 为此,我尝试使用urllib和beautifulsoup组合。我使用的代码是:

^{pr2}$

但我得到的输出是。 有什么想法吗?我所要达到的目标是可能的吗?在


Tags: 代码textidvaluehtmltypescriptfunction
1条回答
网友
1楼 · 发布于 2024-10-01 11:28:10

beautifulsoup解析从服务器获取的html。如果您想看到生成的值,您需要在页面上以某种方式执行嵌入的javascript,然后将字符串传递给beautifulsoup。运行javascript之后,将把修改过的domhtml传递给beautifulsoup。在

至于浏览器模拟:

使用浏览器仿真,您应该能够下拉基本HTML,运行浏览器仿真来执行javascript,然后将修改后的domhtml插入beautifulsoup。在

相关问题 更多 >