我想抓住一些动态加载其组件的网页.
该页面有一个载入脚本,我可以在我的浏览器中输入URL 3-5秒钟后看到完整的页面.
该页面有一个载入脚本,我可以在我的浏览器中输入URL 3-5秒钟后看到完整的页面.
问题是,当我调用br.open(‘URL’)时,响应是0秒的网页.
在HTML(我想要)和br.open(‘URL’)的结果之间3-5秒之间有差异.
解决方法
使用机械化使用丰富的
javascripts内容的网页并不容易,但有一些方法可以根据不同的情况来获得想要的内容.
>如果要创建一些json请求来创建内容,那么您可以调用该URL并尝试解析响应以获取内容,然后尝试正确加入.
>如果您需要使用某些表单,您可以创建一些表单域,并在机械化中设置它们的值.或者,只需编写一个将POST或GET数据(引用特殊字符等)编码的方法,并使用mechanize.browser.open方法发送它们.
>如果页面有一些基于javascript的安全功能(像一些特殊的编码在发布之前形成数据),那么您可以使用像JavaScript应用程序服务器这样的node.js来处理一些JavaScript代码块.
但事实上,上述一些选项并不容易,而在使用机械化这类项目之前,您必须先考虑一下.