我需要从Web获取代码,这部分是“纯HTML”,部分是用AJAX,Javascript生成的HTML.
由于获取它的最简单方法似乎是使用Firebug,我认为它必须存在一些方法来使用Firebug或它的一些插件才能从Java代码中执行它.
我遇到的问题是,在搜索了许多网站和门户网站后,我什么也没找到.
任何人都知道某种方式/某些插件…这使得这个AJAX生成的代码与静态HTML混合成为可能,就像Firebug一样?
谢谢,请原谅我的英语.
最佳答案
Abhijeet有点走上正轨,但我会花时间解释浏览器如何处理网页并帮助您理解为什么您的请求如此困难.
原文链接:https://www.f2er.com/ajax/429523.html警告这是非常粗糙的,我为了简洁和清晰而捏造一些细节
浏览器连接到服务器并使用HTTP来检索您请求的页面.下载该页面后,浏览器会搜索页面中引用的任何其他资源并检索它们.然后它执行从上到下找到的任何javascript,包括任何引用的脚本.这个javascript可以操作页面,但是到目前为止,浏览器并不关心页面的原始源代码,将其内化为DOM或文档对象模型. Javascript实际上只是操纵这个DOM,因为DOM只是一个树结构,没有做任何源代码操作.因此,firebug(或webkit检查器)实际上不显示源代码,它们显示DOM当前状态的表示.
你的请求的问题是你想使用一个单独的系统来加载一个url,然后经历上面的整个过程,遗憾的是,这需要你用Java实现一个完整的javascript引擎.
但是,一切都不会丢失. HTMLUnit(由其他人提及)是一个工作的无头浏览器,用Java编写,因此您可以将它集成到您的程序中.实际上这样做超出了这个答案的范围,但主页是here,API文档是here.