Как получить URL удаленной отладки Chrome при использовании «порта удаленной отладки» в Electron? - PullRequest
0 голосов
/ 08 апреля 2019

Я установил параметр remote-debugging-port для Chrome в моем основном процессе Electron:

app.commandLine.appendSwitch('remote-debugging-port', '8315')

Теперь, как мне получить URL-адрес ws://, который я могу использовать для подключения к Chrome?

Я вижу, что вывод, пока я работаю, показывает Electron

DevTools listening on ws://127.0.0.1:8315/devtools/browser/52ba17be-0c0d-4db6-b6f9-a30dc10df13c

, но я хотел бы получить этот URL из основного процесса.URL каждый раз отличается.Как я могу получить его из основного процесса Electron?

Могу ли я как-то прочитать вывод основного процесса моего Electron из кода JavaScript моего основного процесса?

1 Ответ

0 голосов
/ 08 апреля 2019

Вот как подключить Puppeteer к вашему окну Electron из кода основного процесса вашего Electron:

app.commandLine.appendSwitch('remote-debugging-port', '8315')

async function test() {
    const response = await fetch(`http://localhost:8315/json/list?t=${Math.random()}`)
    const debugEndpoints = await response.json()

    let webSocketDebuggerUrl = ''

    for (const debugEndpoint of debugEndpoints) {
        if (debugEndpoint.title === 'Saffron') {
            webSocketDebuggerUrl = debugEndpoint.webSocketDebuggerUrl
            break
        }
    }

    const browser = await puppeteer.connect({
        browserWSEndpoint: webSocketDebuggerUrl
    })

    // use puppeteer APIs now!
}

// ... make your window, etc, the usual, and then: ...

  // wait for the window to open/load, then connect Puppeteer to it:
  mainWindow.webContents.on("did-finish-load", () => { 
    test()
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...