Puppeteer-web:不允许协议错误(目标:getBrowserContexts)

2024-04-10

我有一个 chrome 扩展正在尝试实现 puppeteer-web。我已按照以下代码尝试进行设置puppeteer-web:“Puppeteer 不是构造函数” https://stackoverflow.com/questions/53001009/puppeteer-web-puppeteer-is-not-a-constructor/53024164#53024164

这是我的代码:

const puppeteer = require("puppeteer");
async function initiatePuppeteer() {
  let browserWSEndpoint = '';
  await fetch("http://127.0.0.1:9222/json")
    .then(response => response.json())
    .then(function(data) {
        let filteredData = data.filter(tab => tab.type ==='page');
        browserWSEndpoint = filteredData[0].webSocketDebuggerUrl;
      })
    .catch(error => console.log(error));
    const browser = await puppeteer.connect({
      browserWSEndpoint: browserWSEndpoint
    });
    const page = await browser.newPage();
    ....etc
}

当我将调试器放在const browser = await puppeteer.connect我收到错误

Uncaught (in promise) Error: Protocol error (Target.getBrowserContexts): Not allowed.

使用Chrome版本V76.0.3809.100 有任何想法吗?

编辑:我的 webSocketDebuggerUrl 是这样的ws://127.0.0.1:9222/devtools/page/E1B62B356262B00C26A5D79D03745360

我怀疑这是因为/page/并不是/browser/但我无法从 /json 路线找到任何类型的浏览器。今晚我会再看一遍。


好吧,事实证明 puppeteer 只能连接到browser目标而不是page目标按照https://github.com/GoogleChrome/puppeteer/issues/4579#issuecomment-511267351 https://github.com/GoogleChrome/puppeteer/issues/4579#issuecomment-511267351

并阅读 API 文档(我应该早点完成......)https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#browserwsendpoint https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#browserwsendpoint指出 URL 为browser目标是http://${host}:${port}/json/version而不仅仅是/json

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Puppeteer-web:不允许协议错误(目标:getBrowserContexts) 的相关文章

  • 有没有办法在 Puppeteer for Firefox 中使用代理?

    有没有办法将 Puppeteer 配置为在 Firefox 中使用代理 而无需手动调整操作系统的代理设置 我可以通过使用命令行参数在 Chrome 中完成此操作args proxy server http 0 0 0 0 0000 但是Fi
  • 如何获取任何 Discord 服务器的成员总数?

    我正在尝试构建一个抓取脚本来获取一堆 Discord 服务器的全部成员 实际上 我是用 Puppeteer 这样做的 如下所示 但我认为我的 IP 地址已被禁止 因为即使邀请链接有效 我也会收到来自 Discord 的 邀请无效 错误 我的
  • 无法找到并单击条件条款按钮

    我是 pupeeteer 的新手 首先我要做的是加载页面并单击按钮 但是 它无法找到该元素 我认为这是因为我需要找到父元素或父元素的父元素
  • 检查视口中的可见性(puppeteer)

    如何使用 Puppeteer 检查 HTML 元素在视口 可见区域 内是否可见 例如 如果我必须滚动才能看到一个按钮 那么它就不可见 page waitForSelector element visible true page waitFo
  • Puppeteer、cloudflare 网站返回 403(禁止)

    我正在尝试从 cloudflare 网站上抓取数据 但无论我做什么 我都会收到 403 禁止错误 我读到这是因为无头请求 有什么办法可以绕过这个吗 我将在下面保留我当前的设置 我还能做些什么来防止被发现吗 const puppeteer r
  • heroku 错误:编译的 slug 大小:对于 Puppeteer 来说太大

    我的应用程序正在本地主机上运行 但是当我在heroku上部署时 puppeteer应用程序需要这个模块https github com jontewks puppeteer heroku buildpack https github com
  • 如何在JavaScript代码中获取JavaScript对象?

    TL DR I want parseParameter像下面的代码一样解析 JSON someCrawledJSCode是爬取的JavaScript代码 const data parseParameter someCrawledJSCode
  • 使用 Brave 浏览器的 Puppeteer?

    我想知道是否可以使用 Brave 浏览器而不是基本版本的 chromium 来执行 puppeteer 脚本 我知道 Brave 是从 chromium 开发的 因此您可以使用 Brave 启动 selenium 脚本 但您知道 puppe
  • 无法使用 jest + puppeteer 获得测试覆盖率

    我有项目优秀 js https github com vitaly t excellent自动测试设置jest https github com facebook jest and 木偶师 https github com GoogleCh
  • Puppeteer 无法获得完整的源代码

    我正在使用 Node js 创建一个简单的抓取应用程序傀儡师 https github com GoogleChrome puppeteer 我想要抓取的页面是 下面是我现在正在使用的代码 const url https www betre
  • puppeteer 通过启用 cookie 和 Javascript 绕过 cloudflare

    仅在 NodeJs gt 服务器端 我正在做一些网页抓取 一些页面受到 cloudflare anti ddos 页面的保护 我正在尝试绕过此页面 通过搜索 我发现了很多关于隐身方法或 reCapcha 的文章 但问题是 cloudflar
  • puppeteer 无法在浏览器中加载 chrome 扩展

    这是我第一次使用 puppeteer 我想打开 google chrome 页面并导航到我已安装的 chrome 扩展 我尝试启用 chrome 扩展 但是当我在中运行脚本时headless false模式下浏览器会弹出 没有我的扩展程序
  • Puppeteer pdf 分页错误

    我尝试用 puppetter 生成 pdf 文件 它适用于一页 但当我尝试生成多页 pdf 文档时 我遇到了分页错误 下面使用 HTML 模板来生成 如果可以 请你帮助我 复制的前提条件 将第一页填充到 100 高度并为下面的块添加标题 H
  • Puppeteer 中的多浏览器与多选项卡

    我有 100 个网页 必须测试运行时错误 我发现 Puppeteer 插件可以 毫不费力 地做到这一点 但我遇到了一个困境 启动一个带有多个选项卡的浏览器 或者为每个链接创建一个新的浏览器 在这种情况下最好的方法是什么 我听说 在有多个选项
  • 使用 puppeteer 覆盖浏览器日期

    我正在尝试设置 puppeteer 来运行一些性能测试 我想将日期覆盖为特定值 以便我可以模拟我的应用程序所需的数据 而无需根据日期动态生成内容 如何覆盖 puppeteer 浏览器的日期 我们找到了一种更简单的方法来模拟 puppetee
  • 如何使用 Puppeteer 执行右键单击?

    我正在尝试使用 Puppeteer 执行右键单击 我尝试添加选项 await component click button right 但我得到的只是定期单击该组件 我关注木偶师的API https github com GoogleChr
  • 在 Puppeteer 中如何将 Chrome 窗口从默认配置文件切换到所需的配置文件

    我的要求是在新的配置文件上测试 chrome 扩展 我提到https peter sh experiments chromium command line switches https peter sh experiments chromi
  • page.goto() 上的云函数超时

    我在云函数中使用 puppeteer 运行测试 如果我在本地机器上运行测试一切都很好 如果我在云函数模拟器中运行测试也没关系 但是当我将函数部署到云端时 所有测试都停留在 page goto https 并且函数因超时而失败 在我的例子中是
  • 使用 Puppeteer 和 Headless Chrome 获取 DOM 节点文本

    我正在尝试使用无头 Chrome 和 Puppeteer 来运行我们的 Javascript 测试 但我无法从页面中提取结果 基于这个答案 https stackoverflow com a 45799744 4794 看起来我应该使用pa
  • Puppeteer 的行为与开发者控制台不同

    我正在尝试使用 Puppeteer 提取此页面的标题 https www nordstrom com s zella high waist studio pocket 7 8 leggings 5460106 https www nords

随机推荐