Если запускать chrome из bash не является обязательным, но можно запускать самим сценарием Node, вы можете попробовать следующее. (В моем примере я использовал конечную точку websocket для подключения вместо browserUrl
, не стесняйтесь выбирать, что лучше соответствует вашим потребностям.)
const browser = await puppeteer.launch({
headless: true,
args: [
`--user-data-dir=${task.profile}`
]
})
const browserWSEndpoint = await browser.wsEndpoint()
const browser2 = await puppeteer.connect({ browserWSEndpoint, defaultViewport: null })
Примечание: Убедитесь, что ваш --user-data-dir
правильный. Если вы находитесь на Windows, вам понадобится что-то вроде: '--user-data-dir=%userprofile%\\AppData\\Local\\Google\\Chrome\\User Data\\ProfileName'
Чтобы определить каталог данных пользователя для запущенного Chrome экземпляра:
- Перейдите к
chrome://version
- Найдите поле
Profile Path
. Это дает путь к каталогу профиля. - Каталог пользовательских данных является родительским для каталога профиля.
Пример (Windows):
- [Путь к профилю]
C:\Users\Alice\AppData\Local\Google\Chrome\User Data\Default
- [Каталог данных пользователя]
C:\Users\Alice\AppData\Local\Google\Chrome\User Data
[источник]