0

我一直在尝试使用from来获取DOM.shadowRootPushed事件。这是加载的页面包含 shadowRoot:CDPSessionpuppeteer

<html>
<head>
  <title>
    Page with Shadow Root
  </title>
</head>
<body>
  <header id="host">
    <h1>Hello DOM</h1>
  </header>
</body>
<script>
  var attachShadow = HTMLElement.prototype.attachShadow

  HTMLElement.prototype.attachShadow = function ( option )
  {
    var sh = attachShadow.call( this, option )
    console.info( '%s shadow attached to %s', option.mode, this )
    //add a MutationObserver here
    return sh
  }
  setTimeout(function() {
    const host = document.getElementById('host');
    const shadowRoot = host.attachShadow({mode: 'open'});
    shadowRoot.innerHTML = '<h1>Hello Shadow DOM</h1>';
  }, 3300);
</script>
</html>

而且,我正在使用这个脚本来获取事件:

const puppeteer = require('puppeteer');

(async() => {
  // Use Puppeteer to launch a browser and open a page.
  const browser = await puppeteer.launch({
      headless: false
      // userDataDir: "/home/w/.config/chromium/"
    });
  const page = await browser.newPage();

  // Create a raw DevTools protocol session to talk to the page.
  // Use CDP to set the animation playback rate.
  const session = await page.target().createCDPSession();
  await session.send('Animation.enable');
  await session.send('DOM.enable');
  
  session.on('Animation.animationCreated', () => {
    console.log('Animation created!');
  });
  session.on('DOM.shadowRootPushed', () => {
    console.log('DOM.shadowRootPushed');
  });
  session.on('DOM.shadowRootPopped', () => {
    console.log('DOM.shadowRootPopped');
  });

  await session.send('Animation.setPlaybackRate', {
    playbackRate: 2,
  });


  // Check it out! Fast animations on the "loading..." screen!
  // await page.goto('https://pptr.dev');
  await page.goto('http://localhost:8000');
  await wait(1115000)
  console.log("Done")
})();

async function wait(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

我明白了Animation.animationCreated。CDP 网站称DOM.shadowRootPushed是一个实验性事件。是否需要在启动选项中传递标志?依赖项:

  "dependencies": {
    "puppeteer": "8.0.0",
    "ws": "7.2.3"
  },

Chrome Version版本 90.0.4427.0(开发者构建)(64 位)

调试日志:

$ DEBUG=* node cdpsession.js 
  puppeteer:protocol SEND ► {"method":"Target.setDiscoverTargets","params":{"discover":true},"id":1} +0ms
  puppeteer:protocol ◀ RECV {"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"3462A6199ADAF347FD96DF0016967C81","type":"page","title":"","url":"about:blank","attached":false,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"}}} +41ms
  puppeteer:protocol ◀ RECV {"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"3995d8d1-5e35-48ff-b5c6-faf339b9ec9a","type":"browser","title":"","url":"","attached":true}}} +1ms
  puppeteer:protocol ◀ RECV {"id":1,"result":{}} +0ms
  puppeteer:protocol SEND ► {"method":"Target.createTarget","params":{"url":"about:blank"},"id":2} +1ms
  puppeteer:protocol ◀ RECV {"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"3462A6199ADAF347FD96DF0016967C81","type":"page","title":"about:blank","url":"about:blank","attached":false,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"}}} +6ms
  puppeteer:protocol ◀ RECV {"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","type":"page","title":"","url":"about:blank","attached":false,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"}}} +13ms
  puppeteer:protocol ◀ RECV {"id":2,"result":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD"}} +11ms
  puppeteer:protocol SEND ► {"method":"Target.attachToTarget","params":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","flatten":true},"id":3} +0ms
  puppeteer:protocol ◀ RECV {"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","type":"page","title":"","url":"about:blank","attached":true,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"}}} +18ms
  puppeteer:protocol ◀ RECV {"method":"Target.attachedToTarget","params":{"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","targetInfo":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","type":"page","title":"","url":"about:blank","attached":true,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"},"waitingForDebugger":false}} +1ms
  puppeteer:protocol ◀ RECV {"id":3,"result":{"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"}} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Page.enable","params":{},"id":4} +1ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Page.getFrameTree","params":{},"id":5} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":false,"flatten":true},"id":6} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Performance.enable","params":{},"id":7} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Log.enable","params":{},"id":8} +1ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Page.setInterceptFileChooserDialog","params":{"enabled":true},"id":9} +0ms
  puppeteer:protocol ◀ RECV {"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","type":"page","title":"about:blank","url":"about:blank","attached":true,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"}}} +11ms
  puppeteer:protocol ◀ RECV {"id":9,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +4ms
  puppeteer:protocol ◀ RECV {"id":4,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +13ms
  puppeteer:protocol ◀ RECV {"id":5,"result":{"frameTree":{"frame":{"id":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"C4BEDF25BD814B4DC16699169B6EF1F7","url":"about:blank","securityOrigin":"://","mimeType":"text/html"}}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":10} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Runtime.enable","params":{},"id":11} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Network.enable","params":{},"id":12} +0ms
  puppeteer:protocol ◀ RECV {"id":6,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol ◀ RECV {"id":7,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Log.entryAdded","params":{"entry":{"source":"other","level":"error","text":"Site cannot be installed: Page is not served from a secure origin","timestamp":1618302904174.339,"url":"about:blank"}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"id":8,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"C4BEDF25BD814B4DC16699169B6EF1F7","name":"commit","timestamp":195993.959226},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +4ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"C4BEDF25BD814B4DC16699169B6EF1F7","name":"DOMContentLoaded","timestamp":195993.959313},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"C4BEDF25BD814B4DC16699169B6EF1F7","name":"load","timestamp":195993.961627},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"C4BEDF25BD814B4DC16699169B6EF1F7","name":"networkAlmostIdle","timestamp":195993.961976},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"C4BEDF25BD814B4DC16699169B6EF1F7","name":"networkIdle","timestamp":195993.961976},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"id":10,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","auxData":{"isDefault":true,"type":"default","frameId":"6DAD742822835DE715BE5F8B09EC00BD"}}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"id":11,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"id":12,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"//# sourceURL=__puppeteer_evaluation_script__","worldName":"__puppeteer_utility_world__"},"id":13} +0ms
  puppeteer:protocol ◀ RECV {"id":13,"result":{"identifier":"1"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Page.createIsolatedWorld","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","grantUniveralAccess":true,"worldName":"__puppeteer_utility_world__"},"id":14} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"context":{"id":2,"origin":"","name":"__puppeteer_utility_world__","auxData":{"isDefault":false,"type":"isolated","frameId":"6DAD742822835DE715BE5F8B09EC00BD"}}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +4ms
  puppeteer:protocol ◀ RECV {"id":14,"result":{"executionContextId":2},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Emulation.setDeviceMetricsOverride","params":{"mobile":false,"width":800,"height":600,"deviceScaleFactor":1,"screenOrientation":{"angle":0,"type":"portraitPrimary"}},"id":15} +1ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Emulation.setTouchEmulationEnabled","params":{"enabled":false},"id":16} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.frameResized","params":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +4ms
  puppeteer:protocol ◀ RECV {"id":15,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"id":16,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol SEND ► {"method":"Target.attachToTarget","params":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","flatten":true},"id":17} +0ms
  puppeteer:protocol ◀ RECV {"method":"Target.attachedToTarget","params":{"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15","targetInfo":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","type":"page","title":"about:blank","url":"about:blank","attached":true,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"},"waitingForDebugger":false}} +1ms
  puppeteer:protocol ◀ RECV {"id":17,"result":{"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"}} +0ms
  puppeteer:protocol SEND ► {"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15","method":"Animation.enable","params":{},"id":18} +1ms
  puppeteer:protocol ◀ RECV {"id":18,"result":{},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol SEND ► {"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15","method":"Page.enable","params":{},"id":19} +0ms
  puppeteer:protocol ◀ RECV {"id":19,"result":{},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +1ms
  puppeteer:protocol SEND ► {"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15","method":"DOM.enable","params":{},"id":20} +0ms
  puppeteer:protocol ◀ RECV {"id":20,"result":{},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol SEND ► {"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15","method":"Animation.setPlaybackRate","params":{"playbackRate":2},"id":21} +1ms
  puppeteer:protocol ◀ RECV {"id":21,"result":{},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +4ms
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Page.navigate","params":{"url":"http://localhost:8000","frameId":"6DAD742822835DE715BE5F8B09EC00BD"},"id":22} +3ms
  puppeteer:protocol ◀ RECV {"method":"Network.requestWillBeSent","params":{"requestId":"946E1DE1FC063361360B31998681705C","loaderId":"946E1DE1FC063361360B31998681705C","documentURL":"http://localhost:8000/","request":{"url":"http://localhost:8000/","method":"GET","headers":{"sec-ch-ua":"Chromium 78","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3882.0 Safari/537.36","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-User":"?1"},"mixedContentType":"none","initialPriority":"VeryHigh","referrerPolicy":"no-referrer-when-downgrade"},"timestamp":195994.030865,"wallTime":1618302904.223556,"initiator":{"type":"other"},"type":"Document","frameId":"6DAD742822835DE715BE5F8B09EC00BD","hasUserGesture":false},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +5ms
  puppeteer:protocol ◀ RECV {"method":"Network.responseReceivedExtraInfo","params":{"requestId":"946E1DE1FC063361360B31998681705C","blockedCookies":[],"headers":{"Server":"SimpleHTTP/0.6 Python/3.8.5","Date":"Tue, 13 Apr 2021 07:33:36 GMT","Content-type":"text/html","Content-Length":"656","Last-Modified":"Mon, 12 Apr 2021 17:02:56 GMT"},"headersText":"HTTP/1.0 200 OK\r\nServer: SimpleHTTP/0.6 Python/3.8.5\r\nDate: Tue, 13 Apr 2021 07:33:36 GMT\r\nContent-type: text/html\r\nContent-Length: 656\r\nLast-Modified: Mon, 12 Apr 2021 17:02:56 GMT\r\n\r\n"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +4ms
  puppeteer:protocol ◀ RECV {"method":"Network.responseReceived","params":{"requestId":"946E1DE1FC063361360B31998681705C","loaderId":"946E1DE1FC063361360B31998681705C","timestamp":195994.034773,"type":"Document","response":{"url":"http://localhost:8000/","status":200,"statusText":"OK","headers":{"Server":"SimpleHTTP/0.6 Python/3.8.5","Date":"Tue, 13 Apr 2021 07:33:36 GMT","Content-type":"text/html","Content-Length":"656","Last-Modified":"Mon, 12 Apr 2021 17:02:56 GMT"},"headersText":"HTTP/1.0 200 OK\r\nServer: SimpleHTTP/0.6 Python/3.8.5\r\nDate: Tue, 13 Apr 2021 07:33:36 GMT\r\nContent-type: text/html\r\nContent-Length: 656\r\nLast-Modified: Mon, 12 Apr 2021 17:02:56 GMT\r\n\r\n","mimeType":"text/html","connectionReused":false,"connectionId":0,"remoteIPAddress":"127.0.0.1","remotePort":8000,"fromDiskCache":true,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":0,"timing":{"requestTime":195994.031508,"proxyStart":-1,"proxyEnd":-1,"dnsStart":-1,"dnsEnd":-1,"connectStart":-1,"connectEnd":-1,"sslStart":-1,"sslEnd":-1,"workerStart":-1,"workerReady":-1,"sendStart":0.047,"sendEnd":0.047,"pushStart":0,"pushEnd":0,"receiveHeadersEnd":0.252},"protocol":"http/1.0","securityState":"secure"},"frameId":"6DAD742822835DE715BE5F8B09EC00BD"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"id":22,"result":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +2ms
  puppeteer:protocol ◀ RECV {"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"6DAD742822835DE715BE5F8B09EC00BD","type":"page","title":"localhost:8000","url":"http://localhost:8000/","attached":true,"browserContextId":"9DD61B1C854229B47F6F3A16F46B1AF0"}}} +27ms
  puppeteer:protocol ◀ RECV {"method":"Page.frameStartedLoading","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +2ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"init","timestamp":195994.038172},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.executionContextDestroyed","params":{"executionContextId":1},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.executionContextDestroyed","params":{"executionContextId":2},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.executionContextsCleared","params":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.frameNavigated","params":{"frame":{"id":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","url":"http://localhost:8000/","securityOrigin":"http://localhost:8000","mimeType":"text/html"}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"context":{"id":3,"origin":"http://localhost:8000","name":"","auxData":{"isDefault":true,"type":"default","frameId":"6DAD742822835DE715BE5F8B09EC00BD"}}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"context":{"id":4,"origin":"://","name":"__puppeteer_utility_world__","auxData":{"isDefault":false,"type":"isolated","frameId":"6DAD742822835DE715BE5F8B09EC00BD"}}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.frameStartedLoading","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD"},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.frameNavigated","params":{"frame":{"id":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","url":"http://localhost:8000/","securityOrigin":"http://localhost:8000","mimeType":"text/html"}},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol ◀ RECV {"method":"DOM.documentUpdated","params":{},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Network.dataReceived","params":{"requestId":"946E1DE1FC063361360B31998681705C","timestamp":195994.066566,"dataLength":656,"encodedDataLength":0},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +3ms
  puppeteer:protocol ◀ RECV {"method":"Network.loadingFinished","params":{"requestId":"946E1DE1FC063361360B31998681705C","timestamp":195994.032156,"encodedDataLength":0,"shouldReportCorbBlocking":false},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.loadEventFired","params":{"timestamp":195994.070869},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +45ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"load","timestamp":195994.070869},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol ◀ RECV {"method":"Page.frameStoppedLoading","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.domContentEventFired","params":{"timestamp":195994.097616},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"DOMContentLoaded","timestamp":195994.097616},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.loadEventFired","params":{"timestamp":195994.070878},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.frameStoppedLoading","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD"},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +1ms
  puppeteer:protocol ◀ RECV {"method":"DOM.documentUpdated","params":{},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.domContentEventFired","params":{"timestamp":195994.09762},"sessionId":"0313B2AD0426A7188BC93EBA3D6F8D15"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Log.entryAdded","params":{"entry":{"source":"other","level":"error","text":"Site cannot be installed: Page has no manifest <link> URL","timestamp":1618302904323.69,"url":"http://localhost:8000/"}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +18ms
  puppeteer:protocol ◀ RECV {"method":"Network.requestWillBeSent","params":{"requestId":"1000037436.2","loaderId":"946E1DE1FC063361360B31998681705C","documentURL":"http://localhost:8000/","request":{"url":"http://localhost:8000/favicon.ico","method":"GET","headers":{"sec-ch-ua":"Chromium 78","Sec-Fetch-Mode":"no-cors","Referer":"http://localhost:8000/","Sec-Fetch-Dest":"image","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3882.0 Safari/537.36"},"mixedContentType":"none","initialPriority":"High","referrerPolicy":"no-referrer-when-downgrade"},"timestamp":195994.132074,"wallTime":1618302904.324764,"initiator":{"type":"other"},"type":"Other","frameId":"6DAD742822835DE715BE5F8B09EC00BD","hasUserGesture":false},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol ◀ RECV {"method":"Network.requestWillBeSentExtraInfo","params":{"requestId":"1000037436.2","blockedCookies":[],"headers":{"Host":"localhost:8000","Connection":"keep-alive","sec-ch-ua":"Chromium 78","Sec-Fetch-Mode":"no-cors","Sec-Fetch-Dest":"image","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3882.0 Safari/537.36","Accept":"image/webp,image/apng,image/*,*/*;q=0.8","Sec-Fetch-Site":"same-origin","Referer":"http://localhost:8000/","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8"}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Network.responseReceivedExtraInfo","params":{"requestId":"1000037436.2","blockedCookies":[],"headers":{"Server":"SimpleHTTP/0.6 Python/3.8.5","Date":"Tue, 13 Apr 2021 08:35:04 GMT","Connection":"close","Content-Type":"text/html;charset=utf-8","Content-Length":"469"},"headersText":"HTTP/1.0 404 File not found\r\nServer: SimpleHTTP/0.6 Python/3.8.5\r\nDate: Tue, 13 Apr 2021 08:35:04 GMT\r\nConnection: close\r\nContent-Type: text/html;charset=utf-8\r\nContent-Length: 469\r\n\r\n"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +4ms
  puppeteer:protocol ◀ RECV {"method":"Network.responseReceived","params":{"requestId":"1000037436.2","loaderId":"946E1DE1FC063361360B31998681705C","timestamp":195994.136327,"type":"Other","response":{"url":"http://localhost:8000/favicon.ico","status":404,"statusText":"File not found","headers":{"Date":"Tue, 13 Apr 2021 08:35:04 GMT","Server":"SimpleHTTP/0.6 Python/3.8.5","Connection":"close","Content-Length":"469","Content-Type":"text/html;charset=utf-8"},"mimeType":"text/html","connectionReused":true,"connectionId":21,"remoteIPAddress":"127.0.0.1","remotePort":8000,"fromDiskCache":false,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":184,"timing":{"requestTime":195994.132935,"proxyStart":-1,"proxyEnd":-1,"dnsStart":-1,"dnsEnd":-1,"connectStart":-1,"connectEnd":-1,"sslStart":-1,"sslEnd":-1,"workerStart":-1,"workerReady":-1,"sendStart":0.164,"sendEnd":0.222,"pushStart":0,"pushEnd":0,"receiveHeadersEnd":2.581},"protocol":"http/1.0","securityState":"secure"},"frameId":"6DAD742822835DE715BE5F8B09EC00BD"},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Log.entryAdded","params":{"entry":{"source":"network","level":"error","text":"Failed to load resource: the server responded with a status of 404 (File not found)","timestamp":1618302904329.0269,"url":"http://localhost:8000/favicon.ico","networkRequestId":"1000037436.2"}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Network.dataReceived","params":{"requestId":"1000037436.2","timestamp":195994.136494,"dataLength":469,"encodedDataLength":0},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol ◀ RECV {"method":"Network.dataReceived","params":{"requestId":"1000037436.2","timestamp":195994.136661,"dataLength":0,"encodedDataLength":469},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Network.loadingFinished","params":{"requestId":"1000037436.2","timestamp":195994.135926,"encodedDataLength":653,"shouldReportCorbBlocking":false},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"firstPaint","timestamp":195994.137751},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +8ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"firstContentfulPaint","timestamp":195994.137751},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"firstMeaningfulPaintCandidate","timestamp":195994.137751},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +12ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"networkAlmostIdle","timestamp":195994.097621},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +639ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"firstMeaningfulPaint","timestamp":195994.137751},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Page.lifecycleEvent","params":{"frameId":"6DAD742822835DE715BE5F8B09EC00BD","loaderId":"946E1DE1FC063361360B31998681705C","name":"networkIdle","timestamp":195994.136668},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +0ms
  puppeteer:protocol ◀ RECV {"method":"Runtime.consoleAPICalled","params":{"type":"info","args":[{"type":"string","value":"+9s shadow attached to %s"},{"type":"string","value":"open"},{"type":"object","subtype":"node","className":"HTMLElement","description":"header#host","objectId":"{\"injectedScriptId\":3,\"id\":1}","preview":{"type":"object","subtype":"node","description":"header#host","overflow":true,"properties":[{"name":"title","type":"string","value":""},{"name":"lang","type":"string","value":""},{"name":"translate","type":"boolean","value":"true"},{"name":"dir","type":"string","value":""},{"name":"dataset","type":"object","value":"DOMStringMap"}]}}],"executionContextId":3,"timestamp":1618302914264.107,"stackTrace":{"callFrames":[{"functionName":"HTMLElement.attachShadow","scriptId":"14","url":"http://localhost:8000/","lineNumber":17,"columnNumber":12},{"functionName":"","scriptId":"14","url":"http://localhost:8000/","lineNumber":23,"columnNumber":28}]}},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"}
  puppeteer:protocol SEND ► {"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB","method":"Runtime.releaseObject","params":{"objectId":"{\"injectedScriptId\":3,\"id\":1}"},"id":23} +1ms
  puppeteer:protocol ◀ RECV {"id":23,"result":{},"sessionId":"D9D90F0C9845C459A09442F9B0E0F0EB"} +1ms

更新:

根据评论,我添加了以下标志:

args: [
        '--enable-blink-test-features',
        '--enable-experimental-web-platform-features',
        '--fake-variations-channel=canary'
      ]

并应用dev, beta, canary,stable--fake-variations-channel. 未捕获通知。

4

0 回答 0