我的要求是在新配置文件上测试 chrome 扩展。
我为 Chromium args[--user-data-dir, --profile-directory]引用了https://peter.sh/experiments/chromium-command-line-switches/
浏览器启动后,会打开 2 个 chrome 窗口。一个具有给定的配置文件和扩展名,另一个具有默认配置文件和给定的扩展名。此外,焦点位于具有默认配置文件的窗口上。所以所有的动作都发生在它上面。
我原以为只有 1 个浏览器窗口会以所需的配置文件和扩展名打开。
我试图将焦点切换到所需的窗口,但 browser.BrowserContexts().length 为 1,这是具有默认配置文件的浏览器。另外 browser.targets() 显示只有 1 个目标类型为浏览器。
我的环境:
1. Puppeteer 版本:6.9.0
2. 平台/操作系统版本:Windows 10 Pro 版本 1803
3. URL(如果适用):
4. Node.js 版本:10.16.3
我的尝试:
一。从 path\to\my\project\node_modules\puppeteer.local-chromium\win64-674921\chrome-win\chrome.exe 打开 chrome.exe
b. 单击个人资料图标并打开“管理人员”对话框。
C。添加新人(个人资料)
d. 打开 chrome://version 并记下 Profile Path 并关闭浏览器。
e. 创建example1.js、example2.js并使用节点example1.js、节点example2.js执行。下面给出了两个示例的代码。
例子1.js
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless:false, args:['--disable-extensions-except=\\path\\to\\my\\extension',
'--load-extension=\\path\\to\\my\\extension',
'--user-data-dir=%userprofile%\\AppData\\Local\\Chromium\\User Data',
'--profile-directory=Profile 1'
]});
const page = …Run Code Online (Sandbox Code Playgroud) javascript automated-tests browser-automation chromium puppeteer
我需要使用 NodeJS 在 Puppeteer 中使用现有的 Firefox 配置文件。该配置文件具有我需要的历史记录、配置的附加组件、代理服务器和 cookie。