Я использую API с express. Я поставил запуск браузера как промежуточное ПО.
// app.js
require('dotenv').config();
require('./config/puppeteer');
...
const app = express();
...
В конфигурации кукловода для запуска браузера я использую puppeteer.launch([options])
, а затем сохраняю объект в porcess.env.BROWSER
// config/puppeteer.js
const puppeteer = require('puppeteer');
(async function runBrowser() {
const browser = await puppeteer.launch({
headless: process.env.NODE_ENV === 'development' ? false : true,
slowMo: 10,
});;
process.env.BROWSER = JSON.stringify(browser);
})();
Но когда я делаю JSON.stringify
из браузера, я получаю следующую ошибку:
DevTools listening on ws://127.0.0.1:56296/devtools/browser/3069f03b-0a46-4d59-b378-c38e650cba65
(node:17192) UnhandledPromiseRejectionWarning: TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Browser'
| property '_defaultContext' -> object with constructor 'BrowserContext'
--- property '_browser' closes the circle
at JSON.stringify (<anonymous>)
at runBrowser (C:\Users\jcortes\devs\nodejs\scraper\config\puppeteer.js:9:32)