Как использовать протокол удаленной отладки Google Chrome в HTTP? - PullRequest
3 голосов
/ 21 октября 2011

Я упоминал http://code.google.com/chrome/devtools/docs/remote-debugging.html.

Сначала я запустил новый процесс Chrome.

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();

Это неправильно?

Ответы [ 3 ]

4 голосов
/ 07 января 2014

Я знаю, что это довольно старый вопрос, но я столкнулся с ним, когда пытался сделать что-то подобное.

Есть модуль npm с именем chrome-remote-interface, который делает использование Chrome Remote Debugging API aнамного проще: 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');
    });
0 голосов
/ 25 января 2014

Существует также фантастический модуль NPM под названием Weinre, который позволяет легко использовать инструменты отладки / удаленной отладки Chrome.Если вам также нужно протестировать кросс-браузер, это позволит вам использовать инструменты Chrome даже в определенных версиях IE.Еще немного информации в блоге MSDN .

0 голосов
/ 22 октября 2011

Я думаю, что это говорит: «Обратите внимание, что в настоящее время мы работаем над раскрытием протокола на основе HTTP, который не требует реализации клиентского WebSocket».

Я не уверен, что это означает, что теперь вы можете использовать HTTP вместо WebSocket.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...