【问题标题】:Puppeteer Launch IncognitoPuppeteer 启动隐身
【发布时间】:2020-06-20 23:28:57
【问题描述】:

我使用 ws 端点 (puppeteer.connect({ browserWSEndpoint: '' })) 连接到浏览器。

当我启动最终连接的浏览器时,有没有办法以隐身方式启动它?

我知道我可以这样做:

const incognito = await this.browser.createIncognitoBrowserContext();

但隐身会话似乎与最初打开的浏览器相关联。我只希望它自己存在。

我也看到你可以这样做:

const baseOptions: LaunchOptions = { args: ['--incognito']};

但我不确定这是否是最好的方法。

任何建议将不胜感激。谢谢!

【问题讨论】:

    标签: javascript node.js puppeteer google-chrome-headless incognito-mode


    【解决方案1】:

    实现目标的最佳方式是通过将--incognito 标志传递给puppeteer.launch(),将browser 直接启动到隐身模式:

    const browser = await puppeteer.launch({
      args: [
        '--incognito',
      ],
    });
    

    或者,您可以在使用browser.createIncognitoBrowserContext() 启动浏览器后创建一个新的隐身browser context

    const browser = await puppeteer.launch();
    const context = await browser.createIncognitoBrowserContext();
    

    您可以使用browserContext.isIncognito() 检查浏览器上下文是否为隐身状态:

    if (context.isIncognito()) { /* ... */ }
    

    【讨论】:

    • 当浏览器以--incognito 模式启动时,newPage() 仍然共享数据,而不是隐身。有什么建议吗?
    【解决方案2】:

    上面的解决方案对我不起作用:

    创建了一个隐身窗口,但是当创建新页面时,它不再是隐身窗口。

    对我有用的解决方案是:

    const browser = await puppeteer.launch();
    const context = await browser.createIncognitoBrowserContext();
    const page = await context.newPage();
    

    然后你可以使用页面,它是一个隐身页面

    【讨论】:

    • 这是真的。运行没有无头的 puppeteer,自己看看。其他答案中的页面不会隐身
    • 它在这里工作!虽然隐身窗口不是黑色的,乍一看让我感到困惑,但确实是铬隐身窗口
    【解决方案3】:

    对于 Puppeteer 来说,它相当混乱,但这似乎有效.. 希望它可以帮助某人。

    using (Browser browser = await Puppeteer.LaunchAsync(options))
    {
         // create the async context 
        var context = await browser.CreateIncognitoBrowserContextAsync();
    
        // get the page created by default when launch async ran and close it whilst keeping the browser active
        var browserPages = await browser.PagesAsync();
        await browserPages[0].CloseAsync();
    
        // create a new page using the incognito context
        using (Page page = await context.NewPageAsync())
        {
            // do something 
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-18
      • 2020-04-28
      • 2021-06-29
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多