我正在尝试做一些与这个线程非常相似的事情,除了 Web 应用程序(用 React 编写)使用Fetch API来进行异步调用而不是 XHR。
有没有一种优雅的方式来拦截/覆盖获取?基本上我想查看站点正在执行的每个 AJAX 调用并从那里获取数据。事后我可以像网站上显示的那样抓取它,但我们都知道 JSON 比 HTML 更容易处理。该网站是 STATEFUL,所以我不能只是重新发送 URL。
我试着写一个像这样的包装器:
function replaceFetch(){
(function(window, debug){
var _fetch = window.fetch;
window.fetch = function(u, o = {}) {
console.log("This is a test");
return _fetch(u, o);
}
})(window, false);
};
casper.on("page.initialized", function(resource){
this.evaluate(replaceFetch);
});
但是我收到“无标题套件”错误,并且找不到任何我可以 require() 来实现 Fetch 的东西。
有什么想法吗?谢谢!