import { chromium } from 'playwright'; import log from 'electron-log'; const getOrCreateTab = async (context, targetIndex) => { const idx = Number.isFinite(targetIndex) && targetIndex >= 0 ? Math.floor(targetIndex) : 1; let pages = await context.pages(); while (pages.length <= idx) { await context.newPage(); pages = await context.pages(); } const page = pages[idx]; await page.bringToFront(); return page; }; (async () => { const browser = await chromium.connectOverCDP('http://127.0.0.1:9222'); try { const context = browser.contexts()[0]; if (!context) { throw new Error('No browser context available'); } await context.addInitScript(() => { Object.defineProperty(navigator, 'webdriver', { get: () => undefined }); }); const tabIndex = Number(process.env.TAB_INDEX); const page = await getOrCreateTab(context, tabIndex); await page.goto('https://me.meituan.com/ebooking/merchant/product#/index'); } catch (error) { log.error(error); process.exitCode = 1; } finally { if (browser) { try { if (typeof browser.disconnect === 'function') { await browser.disconnect(); } else { await browser.close(); } } catch {} } } })();