puppeteer(六)启动参数——浏览器扩展应用的添加及应用
前言
最近再做浏览器的自动化,首页是定制化的,是通过extension(扩展)实现的,由于通过puppeteer默认是以无参(即首次以干净的环境)运行的,导致登录页无法正常显示,首先想当然是直接找扩展crx插件,结果是以失败告终,开始以为是调的方式方法不正确,最后询问几个大虾,都一致认为是在userdata下的扩展。如下两张图的对比
代码
const puppeteer = require('puppeteer'); //导入模块 const path = require('path'); (async () => { let username = 'tester02'; //需求根据不同用户修改 const ext='C:/Users/tester02/AppData/Local/AllMobilize/Enterplorer/User Data/Default/Extensions'; const exepath = 'C:/Users/' + username + '/AppData/Local/Axxx/Enterplorer/Application/enterplorer.exe'; const userData = 'C:/Users/' + username + '/AppData/Local/Axxx/Enterplorer/User Data'; const newtabEx = path.join(ext,"milhmifoljmifighlanebdlekdjhbibd/1.3.2_0/"); const newtabEx2 = path.join(ext,"ahejmjlfdnkngmajdfanadcgmdmgahda/2.2.0_0"); const newtabEx3 = path.join(ext,"bkcbnbbmeifnhooabnknahjpbfblbjfb/1.0.15_0"); const newtabEx4 = path.join(ext,"pgigkojhmdneillbbpcajchbggkphhjp/2.5_0"); console.log(newtabEx1) // const pathToExtension = path.resolve(ext); --disable-extensions-except= ,`--load-extension=${newtabEx1}`.`--custom-launcher-page=${newtabEx1}`, const browser = await puppeteer.launch({ executablePath:exepath, ignoreDefaultArgs:true, ignoreHTTPSErrors:true, headless:false, slowMo:20, userDataDir: userData, args : ['--no-sandbox', '--window-size=1366,850',`--disable-extensions-except=${newtabEx},${newtabEx2},${newtabEx3},${newtabEx4}`] //主要就是这一句允许例外 }); const page = await browser.newPage(); page.setViewport({'width': 1366, 'height': 768}); await page.waitFor(2000); await page.goto('chrome-extension://milhmifoljmifighlanebdlekdjhbibd/newtab/Home.html');//这一句打开扩展插件 await page.click("#server-setting"); await page.type('#domain',"124.193.66.66:30080"); await page.click('#img_arrow'); await page.click('#domain_protocal_change>li:nth-child(2)'); await page.click('#next-btn'); await page.waitFor(5000); await browser.close(); })();
插件的信息如何查看
方法一、打开sources默认打开当前的路径
方法二、console>命令行输入location
puppeteer(六)启动参数——浏览器扩展应用的添加及应用的更多相关文章
- chrome启动参数设置
chrome禁止本地浏览时加载本地其他文件,可以采用添加启动参数的方式来支持 添加参数为 --allow-file-access-from-files 或者 --disable-web-securi ...
- Chrome浏览器启动参数大全(命令行参数)
前言 在开发Web项目当中,浏览器必不可少,而浏览器的启动参数可以帮我们实现很多功能. 常用参数 常用参数请参考下表. 序号 参数 说明 1 --allow-outdated-plugins 不停用过 ...
- Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API
除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可 ...
- 利用WMITool解决浏览器快捷方式启动参数被篡改以及浏览器主页被劫持的问题
先说说症状 症状①:通过快捷方式启动浏览器,首页跳转到2345以及hao123网址导航页,切系统内安装的多款浏览器(IE.Chrome.Firefox.Opera.Safari.Maxthon)症状相 ...
- Chromium浏览器启动参数
序号 参数 说明1 --allow-outdated-plugins 不停用过期的插件.2 --allow-running-insecure-content 默认情况下,https 页面不允许从 ht ...
- Selenium启动Chrome浏览器提示“请停用以开发者模式运行的扩展程序”的解决办法
安装了python selenium,运行下面代码: 1 from selenium import webdriver 2 3 browser = webdriver.Chrome() 4 brows ...
- Chrome浏览器扩展开发系列之十四
Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59 阅读:1361 评论:0 收藏:0 ...
- linux内核启动参数
Linux内核启动参数 Console Options 参数 说明 选项 内核配置/文件 console=Options 用于说明输出设备 tt ...
- Chrome浏览器扩展开发系列之十九:扩展开发示例
翻译总结了这么多的官网内容,下面以一款博主开发的“沪深股票价格变化实时追踪提醒”软件为例,介绍Chrome浏览器扩展程序的开发,开发环境为Eclipse IDE+Chrome Browser. “沪深 ...
随机推荐
- vue-cli 构建的项目中 如何使用less
vue-cli 构建的项目默认是不支持 less 的,需要自己添加. 首选,安装 less 和 less-loader ,在项目目录下运行如下命令 npm install less less-load ...
- UVA 10474 - Where is the Marble?--vector
https://vjudge.net/problem/UVA-10474 https://blog.csdn.net/xiyaozhe/article/details/81081344 简单用法 so ...
- PSO:利用PSO算法优化二元函数,寻找最优个体适应度—Jason niu
figure [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z = x.^2 + y.^2 - 10*cos(2*pi*x) - 10*cos(2*pi*y) + 20; ...
- Codeforces.1043F.Make It One(DP 容斥)
题目链接 \(Description\) 给定\(n\)个数\(A_i\),求最少选出多少个数,使得它们的\(\gcd\)为\(1\). \(n,A_i\leq3\times10^5\). \(Sol ...
- SpringCloud教程 | 第三篇: 服务消费者(Feign)
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务.一.Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http ...
- Resource Allocation of Yarn
关键词:yarn 资源分配 mapreduce spark 简要指南 适合不想看太多原理细节直接上手用的人. 基本原则: container分配的内存不等于机器实际用掉的内存.NM给container ...
- js递归遍历多维数组并在修改数组的key后返回新的多维数组
我司最近正在用VUE做一个基于用户权限显示不同左侧菜单的后台管理系统,接口会根据用户的权限不同返回不同的菜单名称.URL等,前端要将这些菜单名称及URL动态添加到系统的左侧,这里就用到了vue-rou ...
- JS的javascript:void(0)用法
javascript:void(0)用法如下: <a href="javascript:void(0)"></a> // 执行js函数,0表示不执行函数. ...
- char
1 char是多少位的 2 java用的是什么方式表示字符 3 Unicode是用多少位表示的 1的答案是16位的,2的答案是Unicode,3的答案是16位 值得注意的是,2的答案并不是utf-8 ...
- PL-SVO公式推导及代码解析:地图点重投影和特征对齐
对当前帧进行地图点重投影和特征对齐 // map reprojection & feature alignment SVO_START_TIMER("reproject") ...