Ir para o conteúdo principal

Class: Debugger

Class: Debugger

Um transporte alternativo para o protocolo de depuração remoto do Chrome.

Process: Main
This class is not exported from the 'electron' module. It is only available as a return value of other methods in the Electron API.

As ferramentas de desenvolvedor do Chrome possuem special binding disponível no runtime do JavaScript que permite interagir com páginas e instrumentá-las.

const { BrowserWindow } = require('electron')
const win = new BrowserWindow()

try {
win.webContents.debugger.attach('1.1')
} catch (err) {
console.log('Debugger attach failed : ', err)
}

win.webContents.debugger.on('detach', (event, reason) => {
console.log('Debugger detached due to : ', reason)
})

win.webContents.debugger.on('message', (event, method, params) => {
if (method === 'Network.requestWillBeSent') {
if (params.request.url === 'https://www.github.com') {
win.webContents.debugger.detach()
}
}
})

win.webContents.debugger.sendCommand('Network.enable')

Eventos de instância

Event: 'detach'

Retorna:

  • event Event
  • reason String - Reason for detaching debugger.

Emitted when the debugging session is terminated. This happens either when webContents is closed or devtools is invoked for the attached webContents.

Event: 'message'

Retorna:

  • event Event
  • method String - Method name.
  • params any - Event parameters defined by the 'parameters' attribute in the remote debugging protocol.
  • sessionId String - Unique identifier of attached debugging session, will match the value sent from debugger.sendCommand.

Emitted whenever the debugging target issues an instrumentation event.

Métodos de Instância

debugger.attach([protocolVersion])

  • protocolVersion String (opcional) - Versão do protocolo de debugging solicitado.

Anexa o debugger à webContents.

debugger.isAttached()

Retorna um Boolean - que mostra se o debugger está anexado à webContents.

debugger.detach()

Retira o debugger de webContents.

debugger.sendCommand(method[, commandParams, sessionId])

  • method String - Method name, should be one of the methods defined by the remote debugging protocol.
  • commandParams any (optional) - JSON object with request parameters.
  • sessionId String (optional) - send command to the target with associated debugging session id. The initial value can be obtained by sending Target.attachToTarget message.

Returns Promise<any> - A promise that resolves with the response defined by the 'returns' attribute of the command description in the remote debugging protocol or is rejected indicating the failure of the command.

Send given command to the debugging target.