如何在HTTP协议中使用Google Chrome远程调试协议
How to use Google Chrome Remote Debugging Protocol in HTTP?
我参考了http://code.google.com/chrome/devtools/docs/remote-debugging.html。
首先,我开始了一个新的镀铬过程。
chrome --remote-debugging-port=9222 --user-data-dir=remote-profile
然后我想尝试一些选项写在http://code.google.com/intl/ja/chrome/devtools/docs/protocol/tot/index.html,但我怎么能使用它们?我已经知道如何在WebSocket中使用这些方法,但我必须在HTTP中使用它。
我尝试了这个nodejs代码,但是失败了。
var http = require('http');
var options = {
host: 'localhost',
port: 9222,
path: '/devtools/page/0',
method: 'POST'
};
var req = http.request(options, function (res) {
console.log(res.headers);
res.on('data', function (chunk) {
console.log(chunk);
});
});
req.on('error', function (e) { console.log('problem' + e.message); });
req.write(JSON.stringify({
'id': 1,
'method': "Page.enable"
}));
req.end();
错了吗?
我知道这是一个相当老的问题,但是当我试图做类似的事情时,我遇到了它。
有一个名为chrome-remote-interface
的npm模块,它使使用Chrome远程调试API变得更加容易:https://github.com/cyrus-and/chrome-remote-interface
npm install chrome-remote-interface
然后你可以像这样在代码中使用这个模块:
var Chrome = require('chrome-remote-interface');
Chrome(function (chrome) {
with (chrome) {
on('Network.requestWillBeSent', function (message) {
console.log(message.request.url);
});
on('Page.loadEventFired', close);
Network.enable();
Page.enable();
Page.navigate({'url': 'https://github.com'});
}
}).on('error', function () {
console.error('Cannot connect to Chrome');
});
我想它的意思是"请注意,我们目前正在公开一个不需要客户端WebSocket实现的基于http的协议。"
我不确定这意味着你现在可以有HTTP而不是WebSocket
还有一个很棒的NPM模块叫做Weinre,它可以让你轻松地使用Chrome调试/远程调试工具。如果你必须跨浏览器测试,它允许你使用Chrome工具,甚至在某些版本的IE。更多信息请访问MSDN博客
相关文章:
- 如何在vs2002中调试html页面
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 如何在visualstudio中调试web api时编辑javascript文件
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 如何调试Javascript代码或函数
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- 主线程上的同步XMLHttpRequest已弃用
- 基于Web的JS调试库
- javascript中的多线程
- 调试此代码?警报不起作用
- Javascript支持多线程吗
- 是否可以通过Chrome扩展内容脚本打开Chrome外部协议请求
- 如何移动引导程序列
- Chrome调试协议:HeapProfiler.getHeapSnapshot忽略回调
- 如何在HTTP协议中使用Google Chrome远程调试协议
- 本地调试包含协议相对url的网页的提示
- 从Chrome远程调试协议访问JavaScript变量
- 为什么Internet Explorer(或其他浏览器)使用旧的JavaScript文件时,我试图调试我的ASP.网络程