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. “沪深 ...
随机推荐
- 格式时间转UTC时间
public void dateChange() throws ParseException { String str="2010-5-27 12:10:12"; SimpleDa ...
- hdu5701-中位数计数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5701 题目: Problem Description 中位数定义为所有值从小到大排序后排在正中间的那个 ...
- 关于linux上部署定时python脚本
遇到的坑: Python脚本中的文件操作,最好都用绝对路径, 文件头上写 #!/usr/local/bin/python3.6 ----------------------------------- ...
- Phone List 字典树 OR STL
Phone List Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 140 Solved: 35 Description ...
- __x__(3)0905第二天__W3C标准集合
World Wide Web Consortium 万维网联盟(外语缩写:W3C)标准不是某一个标准,而是一系列标准的集合. 创建于 1994 年,是 Web 技术领域最具权威和影响力的国际中立性技术 ...
- (53)Wangdao.com第七天_JavaScript 强制类型转换
其他进制的数字 二进制 以 0b 开头的 Number 八进制 以 0 开头的 Number 十六进制 以 0x 开头的 Number 注意:无论是多少进制的数字,输出都是十进制 强 ...
- (81)Wangdao.com第十六天_JavaScript 严格模式
严格模式 除了正常的运行模式,JavaScript 还有第二种运行模式:严格模式(strict mode).顾名思义,这种模式采用更加严格的 JavaScript 语法 同样的代码,在正常模式和严格模 ...
- BOM 浏览器对象模型_window 对象的常见 window.属性_window.方法
1. 常用属性 window.devicePixelRatio 像素比 = css / 物理像素 window.scrollX,window.scrollY 滚动条 卷曲距离 if ...
- css页面滚动触发动画
参考页面:http://www.jq22.com/jquery-info1384
- Selenium 3----鼠标、键盘操作常用方法
[鼠标] 在 WebDriver 中, 关于鼠标操作的方法封装在 ActionChains 类中. ActionChains 类提供了鼠标操作的常用方法: perform(): 执行所有 Action ...