Javascript 查看网站的实际源代码

Javascript 查看网站的实际源代码,javascript,html,Javascript,Html,我将用一个例子来解释我的问题。 建议我访问url: 然后我右键点击并选择“查看源代码”,我没有得到真正的html源代码, 我确信这一点,因为如果我在代码中搜索文档中出现的唯一单词,我不会得到任何结果 我知道在chrome中,我可以标记一些东西并检查组件,然后我可以看到真实的源代码,但我想使用java程序来获取代码,所以我想了解为什么我在“查看源代码”时看不到真实的html源代码。查看源代码通常不显示任何javascript生成的内容,查看您是否希望使用插件,例如firebug。您搜索了什么单词

我将用一个例子来解释我的问题。 建议我访问url:

然后我右键点击并选择“查看源代码”,我没有得到真正的html源代码, 我确信这一点,因为如果我在代码中搜索文档中出现的唯一单词,我不会得到任何结果


我知道在chrome中,我可以标记一些东西并检查组件,然后我可以看到真实的源代码,但我想使用java程序来获取代码,所以我想了解为什么我在“查看源代码”时看不到真实的html源代码。

查看源代码通常不显示任何javascript生成的内容,查看您是否希望使用插件,例如firebug。

您搜索了什么单词

我猜view source将显示完整的HTML代码,甚至是页面上不可见的部分。 修剪搜索字符串后再次尝试搜索。并在chrome中搜索相同的字符串,就像您之前尝试的那样


另外,如果
JS
onload
事件完成后更改
HTML
,则不会更新

您要查找的文本可能是通过JavaScript呈现的。如果您使用的是Chrome(因为您提到了它),那么当您“检查元素”时出现的web开发者窗格有一个“资源”选项卡,其中列出了JavaScript文件、样式表等。

“查看源代码”为您提供了由服务器生成的纯响应。正如Joachim Isaksson已经提到的,在Firefox中使用Chrome或Firebug。

我所知道的用Java查看实际源代码(包括javascript修改)的唯一方法是通过虚拟浏览器框架,如

HtmlUnit可以执行JS脚本并将所有更改应用于DOM树。您必须序列化它才能获得实际的页面。请记住,没有“完整的html源代码”这样的东西。您只能获取DOM树并可能对其进行序列化。

如果选择“查看源代码”,您将在地址栏中看到页面的实际HTML源代码。但是,您想要查看的页面可能会因为嵌入了加载外部内容并将其放入HTML的代码而变得“模糊”

如果您仍然想在“nice”中自动解析这样一个页面,那么您需要运行一个完整的HTML解释器,例如Webkit,这是一个非常糟糕的工作,原则上您正在使用“inspect元素”执行什么操作。另一种方法是在页面html中找到加载外部内容的行,然后自己加载它们。如果你幸运的话,这不是故意混淆的,对于小任务来说很容易实现


但是,如果您需要整个DOM结构,您应该考虑实现一个浏览器引擎…

在您给出的示例页面中,每个结果元素都是由JS脚本函数从加载的一个文件生成的;此外,它不使用纯字符而是使用Unicode来呈现文本。

您可以执行类似于document.documentElement的操作,它提供所有HTML内容

console.log(document.documentElement);