我不想创建一个用于测试目的的普通新浏览器。我需要在真正的Chrome浏览器中启动一个新标签,其中包含所有书签和扩展程序。请提供简短的代码段。谢谢
答案 0 :(得分:3)
如果Webdriver没有打开浏览器,it is not possible
但是,使用puppeteer
,您可以使用书签和个人资料启动本地安装的Chrome:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
executablePath: "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe",
args: ['--user-data-dir=C:/Users/USER/AppData/Local/Google/Chrome/User Data/']
});
const page = await browser.newPage();
})();
Chrome可执行文件和用户数据目录的位置可在此处找到:chrome://version/
(以"用户数据和#34结尾)。
使用扩展程序有点诡计:
By default, Puppeteer disables extensions when launching Chrome。您可以使用以下方式加载特定扩展程序:
const browser = await puppeteer.launch({
headless: false,
args: [
'--disable-extensions-except=/path/to/extension/',
'--load-extension=/path/to/extension/',
]
});
或者您可以覆盖默认值:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
executablePath: "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe",
ignoreDefaultArgs : true,
args:
[
'--user-data-dir=C:/Users/USER/AppData/Local/Google/Chrome/User Data/',
'--disable-background-networking',
'--disable-background-timer-throttling',
'--disable-client-side-phishing-detection',
'--disable-default-apps',
'--disable-dev-shm-usage',
// '--disable-extensions',
'--disable-hang-monitor',
'--disable-popup-blocking',
'--disable-prompt-on-repost',
'--disable-sync',
'--disable-translate',
'--metrics-recording-only',
'--no-first-run',
'--safebrowsing-disable-auto-update',
]
});
const page = await browser.newPage();
})();