import puppeteer, { Viewport } from 'puppeteer'; export async function init(browserURL: string, initPageUrl ,viewport: Viewport, devtools: boolean = false){ process.env.LANG = 'zh_CN.UTF-8'; const browser = await puppeteer.connect({ browserURL,defaultViewport: viewport }); // 获取所有的浏览器页面 const pages = await browser.pages(); const page = pages.length > 0 ? pages[0] : await browser.newPage(); // 使用 evaluate 并调用 window.innerWidth 和 window.innerHeight 来获取窗口大小 const { width, height } = await page.evaluate(() => { return { width: window.innerWidth, height: window.innerHeight }; }); // 设置视口为浏览器窗口大小 await page.setViewport({ width, height }); await page.setExtraHTTPHeaders({ 'Accept-Language': 'zh-CN,zh;q=0.9' }); // 设置页面的语言 await page.evaluateOnNewDocument(() => { Object.defineProperty(navigator, 'language', { get: function () { return 'zh-CN'; } }); Object.defineProperty(navigator, 'languages', { get: function () { return ['zh-CN', 'zh']; } }); }); // Setting user agent await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'); await page.goto(initPageUrl, { waitUntil: 'networkidle0' }); console.log('Please log in manually.'); return {browser,page} }