rpa*_*cal 7 javascript node.js incognito-mode google-chrome-headless puppeteer
我使用ws端点(puppeteer.connect({ browserWSEndpoint: '' }))连接到浏览器.
当我启动我最终连接的浏览器时,有没有办法以隐身方式启动它?
我知道我可以这样做:
const incognito = await this.browser.createIncognitoBrowserContext();
Run Code Online (Sandbox Code Playgroud)
但似乎隐身会话与最初打开的浏览器相关联.我只是希望它本身.
我也看到你可以这样做:
const baseOptions: LaunchOptions = { args: ['--incognito']};
Run Code Online (Sandbox Code Playgroud)
但我不确定这是不是最好的方式.
任何意见,将不胜感激.谢谢!
MrE*_*MrE 19
上面的解决方案对我不起作用:
创建了一个隐身窗口,但是当创建新页面时,它不再是隐身窗口。
对我有用的解决方案是:
const browser = await puppeteer.launch();
const context = await browser.createIncognitoBrowserContext();
const page = await context.newPage();
Run Code Online (Sandbox Code Playgroud)
然后你可以使用页面,它是一个隐身页面
Gra*_*ler 13
实现目标的最佳方法是将浏览器直接启动到隐身模式,方法是将--incognito标志传递给puppeteer.launch():
const browser = await puppeteer.launch({
args: [
'--incognito',
],
});
Run Code Online (Sandbox Code Playgroud)
或者,您可以在启动浏览器后使用以下命令创建新的隐身浏览器上下文browser.createIncognitoBrowserContext():
const browser = await puppeteer.launch();
const context = await browser.createIncognitoBrowserContext();
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法检查浏览器上下文是否隐身browserContext.isIncognito():
if (context.isIncognito()) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)