chrome browser 70.0.3538.80_Pyppeteer如何加载chrome插件并测试

目的

我想让浏览器的popup弹出的窗口转化成标签页形式,谷歌官方的puppeteer有page.load('popup')函数可用,但是pyppeteer并没有这个功能,测试了浏览器launch里添加参数不行(设置'openInExistingWindow': True,),js方式也没搞定(自身不会js也是硬伤),后来想到的解决方法是通过chrome插件来解决。

满足要求的插件是https://chrome.google.com/webstore/detail/open-link-in-same-tab-pop/jmphljmgnagblkombahigniilhnbadca?hl=en

但是在使用pyppeteer加载的时候出现了问题,官方的加载方式是:

browser = await launch({"headless": False,
                        "args": ['--load-extension=../chrome_extension/',
                                 '--disable-extensions-except=../chrome_extension/',]})

研究了chrome如何导出crx插件文件,和网络上直接下载的crx文件都不可加载提示错误:

无法加载以下来源的扩展程序:Extensionsjmphljmgnagblkombahigniilhnbadca清单文件缺失或不可读。

Failed to load extension" Google Chrome expects a browser extension that does not exist anymore and throws the error message "Manifest file is missing or unreadable

通过把crx文件拖拽到扩展程序界面和在线安装也不行。

a56dcdd6a735ccf378344a28b2ba4971.png

解决方法

根据https://eviloh.github.io/2018/08/05/headless-chrome-pptr%E5%88%9D%E6%8E%A2/ 这篇文章里面提到的,代码片段https://gist.github.com/GuilloOme/2bd651e5154407d2d2165278d5cd7cdb,我下载下来直接放到上面的chrome_extension文件夹下就发现可以了,原来是插件加载需要使用解压后的插件,没解压的缺少manifest.json文件当然加载失败了,后续更改插件路径为解压后的插件路径就可用了。

chrome_extension

如何获得解压的chrome插件

在自己常用的chrome插件管理后台chrome://extensions/,安装要在pyppeteer上用的扩展插件,点击右上角的开发者模式,打开后,会看到插件上多了一个id复制后面的那长串字符,在自己的硬盘上找到这个命名的文件夹即可。如果windows系统一般是在C:Users你的电脑用户名AppDataLocalGoogleChromeUser DataDefaultExtensions,如果是其他系统就找到chrome的用户目录里面去找找,或者安装有EveryThing这种全盘搜索的软件进行搜索会更方便。

0f6fe7ee6e5f6aea65f79bdff193fd0b.png

总结

chrome/chromium加载插件目前只在'headless': False形式下可用,不可见的状态下是无法加载的。

自己的js和对于chrome插件了解的实在是太少,后续搜索chrome插件开发和英文版错误提示Manifest file is missing 就知道原来是缺少manifest,如果能早点看到这个提示就应该会理解应该是使用解压后的插件了。走了很多弯路,所幸最终解决了,如果要加载多个插件,那么就把多个插件路径用逗号隔开写到后面就可以了。

本文由三分醉博客原创,转载请注明:https://www.sanfenzui.com/pyppeteer-install-chrome-extensions-and-test.html

文章同步更新在知乎:三分醉 – 知乎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值