如何在puppeteersharp拦截请求中使用CDPSession

时间:2020-06-04 03:14:47

标签: c# puppeteer puppeteer-sharp

全部

我使用puppeteersharp,在使用打击代码时需要拦截请求和响应:

page.Response += OnPageResponse,

URL为导航时,无法获取内容,错误:

 Unable to get response body ---> PuppeteerSharp.MessageException: Protocol error (Network.getResponseBody): No resource with given identifier found

错误报告链接:https://github.com/puppeteer/puppeteer/issues/2258

该链接为该erorr提供了一篇文章: 将Chrome Devtools协议与Puppeteer结合使用 https://medium.com/@jsoverson/using-chrome-devtools-protocol-with-puppeteer-737a1300bac0

但是将Chrome Devtools协议与PuppeteerSharp一起使用,遇到错误:

Invalid parameters patterns: array expected

设置arg时:

object oo = new { urlPattern = "*", resourceType = "Script", interceptionStage = "HeadersReceived" };
                        object arg = "{ patterns: [{urlPattern: '*.js*',resourceType: 'Script',interceptionStage: 'HeadersReceived'}] }";
                        arg = "{ patterns: [{urlPattern='*.js*',resourceType='Script',interceptionStage='HeadersReceived'}] }";
                        arg = "{ patterns: [{urlPattern=\"*.js*\",resourceType=\"Script\",interceptionStage=\"HeadersReceived\"}] }";
                        arg = "{ patterns: [{urlPattern:\"*.js*\",resourceType:\"Script\",interceptionStage:\"HeadersReceived\"}] }";
                        arg = "[{urlPattern:\"*.js*\",resourceType:\"Script\",interceptionStage:\"HeadersReceived\"}]";
                        arg = "[{urlPattern=\"*.js*\",resourceType=\"Script\",interceptionStage=\"HeadersReceived\"}]";

                        Console.WriteLine("arg:" + arg);

                        tjj = cdp.SendAsync("Network.setRequestInterception", arg);

以上是我测试过的所有格式,都是错误,那么arg格式是什么?

谢谢。

0 个答案:

没有答案