繁体   English   中英

我如何获取JavaScript生成的HTML?

[英]How do i get html produced by javascript?

我知道标题不是很清楚,所以我举一个例子:有站点A和站点B,假设它们是金融站点。 我只需要两个站点的一页(关于意大利比萨报价),就可以比较一些价值并知道何时何地以更高的价格出售意大利比萨。 站点A一切都非常容易,因为它不使用JavaScript,也不使用浏览器,而是单击语音菜单“意大利>意大利披萨”,我找到了我需要的www.siteA.com/italy/italianPizzaValues网址。 相反,当我浏览网站B时,单击“意大利”语音菜单将重定向到www.siteB.com/italy.do,然后单击“意大利面”和“比萨饼”之类的意大利菜单语音不会更改网址,而只是调用javascript函数(通常非常复杂的)。 因此,对于站点A,我使用libcurl下载页面www.siteA.com/italy/italianPizzaValues,然后对其进行解析。 我应该如何使用网站B来获得相同的结果,并且知道网站B的意大利比萨价值?

尼尔·福特(Neal Ford)在The Productive Programmer中建议将用于您的非测试目的。 Selenium通过自动与Web浏览器进行交互来工作。 它是为测试目的而设计的,但也可以按照尼尔·福特的建议用于其他目的。 使用Selenium IDE ,您可以记录与网页的交互,引用HTML元素(包括由JavaScript渲染的元素),然后将生成的代码导出到几种高级编程语言(Java,.Net,PHP,Python,Perl)中的一种或Ruby)。

在尝试模拟真实浏览器并执行JavaScript之前,请尝试使用网络监视器在真实浏览器中访问相关页面。 在“网络”选项卡上打开了Firebug的Firefox是IE或Fiddler。

查看当您单击“ Pizza”时发生的请求和响应,并查看是否有明显的XMLHttpRequest似乎包含您要查找的数据。 如果是这样,那么只发出一个请求就会更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM