Java-如何使用Firebug或任何Java库从URL获取HTML代码,包括其AJAX生成的代码
Java- How to get the HTML code from a URL including its AJAX generated code using Firebug or any Java library
我需要从一个web获取代码,它部分是"纯HTML",部分是用AJAX、Javascript生成的HTML。
由于获得它的最简单方法似乎是使用Firebug,我认为它必须存在一种使用Firebug的方法或它的一些插件,才能从Java代码中做到这一点。
我的问题是,在搜索了许多网站和门户网站后,我一无所获。
任何人都知道某种方式/某种插件。。。这使得这种AJAX生成的代码和静态HTML混合成为可能,就像Firebug一样?
谢谢,请原谅我的英语。
Abhijeet走在了正确的轨道上,但我将花时间解释浏览器如何处理网页,并帮助您理解为什么您的请求如此困难。
警告这很粗糙,为了简洁明了,我篡改了一些细节
浏览器连接到服务器并使用HTTP检索您请求的页面。下载该页面后,浏览器将搜索该页面中引用的任何其他资源并进行检索。然后,它执行从上到下找到的任何javascript,包括任何引用的脚本。这个javascript可以操作页面,但到目前为止,浏览器并不太关心页面的原始源代码,而是将其内化为DOM或文档对象模型。Javascript实际上只是在操作这个DOM,因为DOM只是一个树结构,不进行任何源代码操作。因此,firebug(或webkit检查器)实际上并没有显示源代码,而是显示DOM的当前状态的表示。
您的请求的问题是,您希望使用一个单独的系统来加载url,然后完成上面的整个过程,不幸的是,这需要您用Java实现整个javascript引擎。
然而,并没有失去一切。HTMLUnit(其他人提到过)是一个可用的无头浏览器,用Java编写,因此您可以将其集成到您的程序中。实际上,这样做超出了这个答案的范围,但主页在这里,API文档在这里。
实现这一点的唯一方法是探查所有GET/POST请求的内容。所以,启动Firebug&查看正在发出什么GET/POST请求。
然后您可以在Java代码中使用URLConnection类来实现这一点。
您也可以尝试使用像htmlunit这样的无头浏览器。
- 创建一个循环来简化HTML和CSS代码
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- 如何解析结构不良的 html 代码
- HTML标记,包含带引号的JavaScript代码中的引号
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- HTML 标记未在 AngularJS ckEditor 中应用,而是在 Ediator 中显示 HTML 元素标记代码
- 如何在html中将字符串转换为数字?以及如何将变量传递到scriptlet代码中
- 将第一个字母大写并去掉html代码
- 我在下拉列表中尝试了下一个和前五年的html代码.接下来的5年我都过得很好.我怎样才能拿到之前的5年
- 使用.format在一些HTML代码中插入文本,会出现错误(Python)
- html代码没有在记事本++上运行
- 来自mysql的动态值用于html代码点火器视图中的图形
- 如何:编写漂亮的HTML代码和Javascript控制台
- 在html标记中序列化javascript代码
- 我需要java代码来打开html代码onclick事件
- html代码需要可点击的文本按钮
- 无法使用我的代码(html/js/css)初始化网络摄像头
- 如何编辑此代码HTML/CSS以使'选择'JS代码也复制2剪贴板
- 如何使用js来反转义代码html
- 如何在 ATTR 标题中显示代码 HTML