我想知道是否可以使用带有jsdom的node.js来加载像twitter search results page这样的网站,并且仍然能够在初始渲染后检测到DOM中的任何更改。
示例:
初始页面
修改后的页面
感谢您的帮助。
答案 0 :(得分:3)
如果要检测DOM树中的更改,您需要了解minified Twitter的javascript代码并正确拦截事件或回调。我不建议你使用这种方法,因为在使用jsdom时,在浏览器中完美运行的js代码可能会中断。例如,当我尝试使用jquery进行一些服务器端报废时,我遇到了bug,这在大多数浏览器中肯定不是问题。
目前,我建议您直接从Twitter使用Search API,这是一种更直接的方法。
希望它有所帮助!
答案 1 :(得分:1)
当然,最好的方法是利用Twitter上的搜索API(或任何相关的API)来实现这一目标。
但是,对于某些其他项目,如果您希望托管一个完整的浏览器环境(JS + dom +渲染器),并且允许您与之交互,那么PhantomJS项目可能会起作用:
http://code.google.com/p/phantomjs/
它托管一个用于自动化的WebKit实例。