Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: When puppeteer connects to existing electron(chromium) it does not have access to existed pages #11708

Closed
sirdir opened this issue Jan 19, 2024 · 6 comments

Comments

@sirdir
Copy link

sirdir commented Jan 19, 2024

Background

The issue is cause by this commit #11099 @OrKoN

We have electron application and currently using puppeteer-core to write test for it.

We start application and connecting puppeteer to it via web socket.

I do not want go into specific, but Electron implies that puppeteer not the one who creates the pages, electron does.

So, when we start application we can already have some state of it with several windows opened(business logic reflected in tests).

but after 21.4.0 it stopped worked, because pages that have been opened does not fire targetcreated event anymore

    const options: ConnectOptions = { browserWSEndpoint, defaultViewport: null };  
    this.browser = await puppeteer.connect(options);  
  
    this.browser.on('targetcreated', async (event: Target) => {
      if (event.type() === 'page' || event.type() === 'webview') {
        const page = (await event.page()) as Page;
        await this.pageManager.register(page);
      }
    });

more to it, as user I see that there several windows opened but
browser.pages() return empty array and browser.targers() contains only one object and it is a browser, no pages


trying to make pages discoverable again dos not work, look like its to late at this stage

    const options: ConnectOptions = { browserWSEndpoint, defaultViewport: null };  
    this.browser = await puppeteer.connect(options);  
  
    const session = await this.browser.target().createCDPSession();
    await session.send('Target.setAutoAttach', { autoAttach: true, waitForDebuggerOnStart: false, flatten: true });
    await session.send('Target.setDiscoverTargets', { discover: true });
    const response = await session.send('Target.getTargets');
    console.log('response', response); // this one show some pages but not all of them

Expectation

if puppeteer connects to the existing browser
browser.pages() or browser.targets() should return existing pages in array

Reality

when puppeteer connects to the existing electron application(chromium) with several windows/tabs opened browser.pages() and browser.targets() do not return pages

Puppeteer configuration file (if used)

No response

Puppeteer version

21.7.0

Node version

18.18.2

Package manager

yarn

Package manager version

3.2.4

Operating system

Linux

@sirdir sirdir added the bug label Jan 19, 2024
Copy link

github-actions bot commented Jan 19, 2024

This issue has an outdated Puppeteer version: 21.7.0. Please verify your issue on the latest 21.9.0 version. Then update the form accordingly.


Analyzer run

@sirdir
Copy link
Author

sirdir commented Jan 19, 2024

This issue has an outdated Puppeteer version: 20.4.0. Please verify your issue on the latest 21.7.0 version. Then update the form accordingly.

Analyzer run

21.7.0

Made a typo (issue was introduced in 21.4.0 initially )

@OrKoN
Copy link
Collaborator

OrKoN commented Jan 22, 2024

@sirdir could you provide the CDP log (DEBUG=puppeteer:*)? CDP is expected to auto-attach all existing targets.

@sirdir
Copy link
Author

sirdir commented Jan 23, 2024

I did run the puppeteer with DEBUG=puppeteer:* env variable
So the new 21.7.0 produce this output:

 puppeteer:protocol:SEND ► [ '{"method":"Browser.getVersion","id":1}' ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":1,"result":{"protocolVersion":"1.3","product":"Chrome/108.0.5359.215","revision":"@6e524f43695a449fbc158b33fef1765cf347ddd2","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) APP/5.13.1 Chrome/108.0.5359.215 Electron/22.3.27 Safari/537.36","jsVersion":"10.8.168.25"}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [ '{"method":"Target.getBrowserContexts","id":2}' ] +0ms
 puppeteer:protocol:RECV ◀ [ '{"id":2,"result":{"browserContextIds":[]}}' ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Target.setDiscoverTargets","params":{"discover":true,"filter":[{}]},"id":3}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"63dda4ac-76df-4309-90aa-f4ccd49a4d61","type":"browser","title":"","url":"","attached":true,"canAccessOpener":false}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [ '{"id":3,"result":{}}' ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"page","exclude":true},{}]},"id":4}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [ '{"id":4,"result":{}}' ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"F1FB1584026AA707206858F91F8F584A","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"451D9DEF9F7AFD3F74727EE5B502C79D","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"CB1C5857EF4F7EFC14907C2F624C859C","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}' 
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"CB1C5857EF4F7EFC14907C2F624C859C","type":"page","title":"about:blank","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"F1FB1584026AA707206858F91F8F584A","type":"page","title":"data:text/html,<html class%3D\\"covalent-html\\" ... 1168 more characters
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"451D9DEF9F7AFD3F74727EE5B502C79D","type":"page","title":"data:text/html,<html class%3D\\"covalent-html\\... 1320 more characters
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"B4E3D562BD015E24D4793058432EBF85","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"A15373F8145E8C8FD38D13A05BCA81C3","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"B4E3D562BD015E24D4793058432EBF85","type":"page","title":"about:blank","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"A15373F8145E8C8FD38D13A05BCA81C3","type":"page","title":"localhost:58233/app-1/","url":"http://localhost:58233/app-1/","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"8A470AF355F1FDE0ACEA67F4EDB5F092","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"8A470AF355F1FDE0ACEA67F4EDB5F092","type":"page","title":"localhost:58233","url":"http://localhost:58233/","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"B4E3D562BD015E24D4793058432EBF85","type":"page","title":"localhost:58233/app-2/","url":"http://localhost:58233/app-2/","attached":false,"canAccessOpener":false,"browserContextId":"83CC3B6FCC3BBECD73CC48E70E8C14C5"}}}'

But the old version 21.3.8 are producing different output

puppeteer:protocol:SEND ► [ '{"method":"Browser.getVersion","id":1}' ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":1,"result":{"protocolVersion":"1.3","product":"Chrome/108.0.5359.215","revision":"@6e524f43695a449fbc158b33fef1765cf347ddd2","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) APP/5.13.1 Chrome/108.0.5359.215 Electron/22.3.27 Safari/537.36","jsVersion":"10.8.168.25"}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [ '{"method":"Target.getBrowserContexts","id":2}' ] +0ms
 puppeteer:protocol:RECV ◀ [ '{"id":2,"result":{"browserContextIds":[]}}' ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Target.setDiscoverTargets","params":{"discover":true,"filter":[{"type":"tab","exclude":true},{}]},"id":3}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"tab","exclude":true},{}]},"id":4}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"43d8cdce-dde4-4061-bfba-fcc0cc235add","type":"browser","title":"","url":"","attached":true,"canAccessOpener":false}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [ '{"id":3,"result":{}}' ] +0ms
 puppeteer:protocol:RECV ◀ [ '{"id":4,"result":{}}' ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"96924BA76F8DA180D2BC4D7611D9EFB8","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"96924BA76F8DA180D2BC4D7611D9EFB8","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.attachedToTarget","params":{"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF","targetInfo":{"targetId":"96924BA76F8DA180D2BC4D7611D9EFB8","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"},"waitingForDebugger":true}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"tab","exclude":true},{}]},"id":1,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [ 
  puppeteer:protocol:SEND ►  '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":1,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"EDB83796E06C0FBA214D7978D555EF2E","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"EDB83796E06C0FBA214D7978D555EF2E","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.attachedToTarget","params":{"sessionId":"BB2368782F5A3D91482CF5A27C809944","targetInfo":{"targetId":"EDB83796E06C0FBA214D7978D555EF2E","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"},"waitingForDebugger":true}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"tab","exclude":true},{}]},"id":1,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"DBB4C152023DBCF4CBC2EC24B5E93B05","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"DBB4C152023DBCF4CBC2EC24B5E93B05","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.attachedToTarget","params":{"sessionId":"D255B31F6C5D16531C9254EC7C25224C","targetInfo":{"targetId":"DBB4C152023DBCF4CBC2EC24B5E93B05","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"},"waitingForDebugger":true}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [ 
 puppeteer:protocol:SEND ►  '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"tab","exclude":true},{}]},"id":1,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":1,"result":{},"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":2,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"96924BA76F8DA180D2BC4D7611D9EFB8","type":"page","title":"data:text/html,<html class%3D\\"covalent-html... 1167 more characters
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Network.enable","id":3,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Network.setCacheDisabled","params":{"cacheDisabled":false},"id":4,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Fetch.disable","id":5,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.enable","id":6,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.getFrameTree","id":7,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [ 
 puppeteer:protocol:SEND ►  '{"method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":8,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Runtime.enable","id":9,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Performance.enable","id":10,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Log.enable","id":11,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"DBB4C152023DBCF4CBC2EC24B5E93B05","type":"page","title":"about:blank","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"D50EAA2E2C2D87C84D7552D1220173A3"}}}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Network.enable","id":3,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Network.setCacheDisabled","params":{"cacheDisabled":false},"id":4,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Fetch.disable","id":5,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.enable","id":6,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.getFrameTree","id":7,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [ 
 puppeteer:protocol:SEND ►  '{"method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":8,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Runtime.enable","id":9,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Performance.enable","id":10,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Log.enable","id":11,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":5,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":5,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":1,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":2,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":3,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":4,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [ 
 puppeteer:protocol:RECV ◀  '{"id":6,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":7,"result":{"frameTree":{"frame":{"id":"DBB4C152023DBCF4CBC2EC24B5E93B05","loaderId":"E26844B38B5C8EE93B3DAB44BA98F6AF","url":"about:blank","domainAndRegistry":"","securityOrigin":"://","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"InsecureScheme","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]}}},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Page.lifecycleEvent","params":{"frameId":"DBB4C152023DBCF4CBC2EC24B5E93B05","loaderId":"E26844B38B5C8EE93B3DAB44BA98F6AF","name":"commit","timestamp":1429976.966724},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Page.lifecycleEvent","params":{"frameId":"DBB4C152023DBCF4CBC2EC24B5E93B05","loaderId":"E26844B38B5C8EE93B3DAB44BA98F6AF","name":"DOMContentLoaded","timestamp":1429976.974817},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Page.lifecycleEvent","params":{"frameId":"DBB4C152023DBCF4CBC2EC24B5E93B05","loaderId":"E26844B38B5C8EE93B3DAB44BA98F6AF","name":"load","timestamp":1429977.006611},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Page.lifecycleEvent","params":{"frameId":"DBB4C152023DBCF4CBC2EC24B5E93B05","loaderId":"E26844B38B5C8EE93B3DAB44BA98F6AF","name":"networkAlmostIdle","timestamp":1429977.015935},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Page.lifecycleEvent","params":{"frameId":"DBB4C152023DBCF4CBC2EC24B5E93B05","loaderId":"E26844B38B5C8EE93B3DAB44BA98F6AF","name":"networkIdle","timestamp":1429977.015935},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":8,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Runtime.executionContextCreated","params":{"context":{"id":2,"origin":"://","name":"Electron Isolated Context","uniqueId":"6080830982521295535.6151141985079925605","auxData":{"isDefault":false,"type":"isolated","frameId":"DBB4C152023DBCF4CBC2EC24B5E93B05"}}},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","uniqueId":"-3251404271457585479.5598386321263667715","auxData":{"isDefault":true,"type":"default","frameId":"DBB4C152023DBCF4CBC2EC24B5E93B05"}}},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [ 
 puppeteer:protocol:RECV ◀  '{"id":9,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"//# sourceURL=pptr:internal","worldName":"__puppeteer_utility_world__"},"id":12,"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":10,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":11,"result":{},"sessionId":"D255B31F6C5D16531C9254EC7C25224C"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":2,"result":{},"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"EDB83796E06C0FBA214D7978D555EF2E","type":"page","title":"data:text/html,<html class%3D\\"covalent-html\\"... 1319 more characters
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Network.enable","id":3,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Network.setCacheDisabled","params":{"cacheDisabled":false},"id":4,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Fetch.disable","id":5,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.enable","id":6,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [ 
 puppeteer:protocol:SEND ►  '{"method":"Page.getFrameTree","id":7,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":8,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Runtime.enable","id":9,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Performance.enable","id":10,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Log.enable","id":11,"sessionId":"BB2368782F5A3D91482CF5A27C809944"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":3,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":4,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":6,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":7,"result":{"frameTree":{"frame":{"id":"96924BA76F8DA180D2BC4D7611D9EFB8","loaderId":"E8437EB62EFD729BA5D30568835EC7AD","url":"data:text/html,%3Chtml%20class%3D%22covalent-html%22 ... 1530 more characters
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":8,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","uniqueId":"2910209410025462201.6508326896572108155","auxData":{"isDefault":true,"type":"default","frameId":"96924BA76F8DA180D2BC4D7611D9EFB8"}}},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":9,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:RECV ◀ ] +0ms
 puppeteer:protocol:SEND ► [
 puppeteer:protocol:SEND ►  '{"method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"//# sourceURL=pptr:internal","worldName":"__puppeteer_utility_world__"},"id":12,"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}'
 puppeteer:protocol:SEND ► ] +0ms
 puppeteer:protocol:RECV ◀ [
 puppeteer:protocol:RECV ◀  '{"id":10,"result":{},"sessionId":"68A4422F52CF784C9FA8B30ACE8051AF"}' 

@sirdir
Copy link
Author

sirdir commented Jan 23, 2024

This one stands-out '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{"type":"page","exclude":true},{}]},"id":4}'

just checked, when in node_modules in ChromeTargetManager.js make page auto discoverable it works like a charm

    async initialize() {
        await this.#connection.send('Target.setDiscoverTargets', {
            discover: true,
            filter: this.#discoveryFilter,
        });
        this.#storeExistingTargetsForInit();
        await this.#connection.send('Target.setAutoAttach', {
            waitForDebuggerOnStart: true,
            flatten: true,
            autoAttach: true,
            filter: [
                {
                    type: 'page',
                    exclude: false, // changed it from true -> false, as well you can just remove this filter, but to make more explicit I left is as is
                },
                ...this.#discoveryFilter,
            ],
        });
        this.#finishInitializationIfReady();
        await this.#initializeDeferred.valueOrThrow();
    } 

@OrKoN
Copy link
Collaborator

OrKoN commented Jan 23, 2024

@sirdir so that is working as expected since CDP should auto-attach to tab target not to the page. If you make the change you did locally it might not work as expected in Electron (and definitely not in the browser). I see that Electron reports Chrome/108.0.5359.215 which is a not supported version (see https://pptr.dev/chromium-support). I suggest you try using an older Puppeteer version that matches the Electron version, e.g., v19.2.0.

@OrKoN OrKoN closed this as not planned Won't fix, can't repro, duplicate, stale Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants