Запуск браузера Puppeteer в клиентском браузере

#javascript #google-chrome #google-chrome-devtools #puppeteer

#javascript #google-chrome #google-chrome-devtools #puppeteer

Вопрос:

У меня есть фрагмент кода Javascript на HTML-странице, который запускается при загрузке страницы. Цель скрипта — запустить безголовый браузер и сканировать страницы от имени пользователя (того, кто посещает страницу, на которой запускается фрагмент).

Можно ли указать Puppeteer использовать браузер клиента и сканировать страницы от его / ее имени?

Обновить

Основываясь на ответе @roa (и моих последующих комментариях) Я нашел эту проблему на Github, которая показывает, как захватить конечную точку ws:

 const puppeteer = require('puppeteer');

const browser = await puppeteer.launch();

const url = browser._connection.url();
 

Я также узнал о puppeteer-web, но не уверен, как связать это, чтобы получить то, что мне нужно. В приведенном выше примере кода не url является ли конечная точка ws для браузера, который я только что запустил, т.е. await puppeteer.launch(); ? В то время как я пытаюсь подключиться к экземпляру браузера, в котором находится пользователь (чтобы использовать puppeteer и отправлять запросы на другие страницы от их имени)
Спасибо

Ответ №1:

Вы хотите использовать puppeteer.connect browserWSEndpoint опцию with .

Возможно, эта статья именно то, что вам нужно.

Комментарии:

1. Интересно, спасибо за это. Как бы вы получили браузер пользователя WSEndpoint ?

2. Есть ли способ сделать это программно, поскольку puppeteer будет запущен в браузере пользователя?