Для открытия новых независимых вкладок с помощью Puppeteer можно использовать метод `browser.newPage()`.
Пример использования:
```javascript
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page1 = await browser.newPage();
const page2 = await browser.newPage();
// Теперь можно использовать page1 и page2 для независимых действий
await browser.close();
})();
```
Чтобы создать независимые контексты браузера для входа в разные аккаунты в WhatsApp, можно попробовать создать инкогнито-контексты с помощью метода `browser.createIncognitoBrowserContext()` и открывать новые вкладки в каждом инкогнито-контексте.
Пример использования инкогнито-контекста:
```javascript
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const context1 = await browser.createIncognitoBrowserContext();
const page1 = await context1.newPage();
const context2 = await browser.createIncognitoBrowserContext();
const page2 = await context2.newPage();
// Теперь можно использовать page1 и page2 для отдельных аккаунтов
await browser.close();
})();
```
Если функция `createIncognitoBrowserContext()` не работает, можно использовать различные пользовательские агенты и прокси-сервера для каждой вкладки, чтобы избежать смешивания аккаунтов.
Чтобы уменьшить потребление оперативной памяти при создании нескольких аккаунтов, можно использовать возможность закрытия неиспользуемых вкладок или контекстов браузера после их использования с помощью методов `page.close()` и `context.close()`.
Надеюсь, это поможет вам решить проблему с созданием независимых вкладок и аккаунтов в Puppeteer.