Объект искателя сохраняет состояние экземпляра браузера, и, где бы вы ни вызывали / передавали этот экземпляр, он ссылается на тот же хром в «фоне». Если это перебор, и вы просто хотите подключиться к уже запущенному хрому с помощью puppeteer, вы можете сделать это с puppeteer.connect. взгляните на это: Как "зацепить" кукловода в работающий Chrome экземпляр / вкладку - мбит
Да, я думаю, это излишне для меня :). Но ссылка, которую вы разместили, была тем, что я хотел, но у меня есть 2 вопроса.
Это пример того, что у меня есть.
// 1.js
// open chromium, new tab, go to google.com, print browserWSEndpoint, disconnect
const puppeteer = require('puppeteer');
(async () => {
var browser = await puppeteer.launch({headless: false});
var page = await browser.newPage();
var response = await page.goto('https://google.com');
var browserWSEndpoint = browser.wsEndpoint();
console.log(browserWSEndpoint); // prints: ws://127.0.0.1:51945/devtools/browser/6462daeb-469b-4ae4-bfd1-c3bd2f26aa5e
browser.disconnect();
})();
И
// 2.js
// connect to the open browser with the browserWSEndpoint manualy put in, ... , disconect.
const puppeteer = require('puppeteer');
(async () => {
var browser = await puppeteer.connect({browserWSEndpoint: 'ws://127.0.0.1:51945/devtools/browser/6462daeb-469b-4ae4-bfd1-c3bd2f26aa5e'});
// somehow use the tab that is open from 1.js (google.com)
await browser.disconnect();
})();
Я получаю Строка browserWSEndpoint из console.log 1. js. Это прекрасно работает, но у меня есть две трудности.
1 - Как я могу использовать переменную browserWSEndpoint из 1. js, поэтому мне не всегда нужно копировать и вставлять ее в 2. js.
2- Если я открою новую страницу / вкладку на 1. js и go, например, для Google и отключусь (browser.disconnect ()), как можно использовать эту страницу / вкладку на 2. js.