如何从Chrome远程调试中获取DOM

时间:2015-04-13 06:47:23

标签: javascript node.js google-chrome google-chrome-devtools

我一直在尝试使用chrome-remote-interface使用Chrome远程调试来获取DOM对象而没有运气(代码在node.js中)

var Chrome = require('chrome-remote-interface')

Chrome(function (chrome) {
  chrome.on('Page.loadEventFired', function(evt) {
    console.log('load event fired')
    chrome.DOM.getDocument(null, function(resp) {
      console.log('DOM DOC')
      console.log(resp)   
    })
    chrome.DOM.getOuterHTML({}, function(resp) {
      console.log('outerhtml')
      console.log(resp)
    })
  })
  chrome.Debugger.enable()
  chrome.DOM.enable()
  chrome.Network.enable()
  chrome.Page.enable()
  chrome.Page.navigate({'url': 'https://github.com'})    
}).on('error', function () {
  console.error('Cannot connect to Chrome')
})

运行文件时我得到了这些输出

load event fired
DOM DOC
false
outerhtml
true

1 个答案:

答案 0 :(得分:3)

原来这是错误的回调处理程序,第一个参数是错误没有响应。卫生署!

chrome.DOM.getDocument(null, function(err, resp) {
  console.log('DOM DOC')
  console.log(err)
  console.log(resp)

  // chrome.close()
})
chrome.DOM.getOuterHTML({}, function(err, resp) {
  console.log('outerhtml')
  console.log(err)
  console.log(resp)
})