import { chromium, devices } from 'playwright'; // import { createSecureServer } from 'node:http2'; import { Hono } from 'hono'; import { serve } from '@hono/node-server'; import { serveStatic } from '@hono/node-server/serve-static'; // https://t1ckbase-remote-playwright-test.hf.space const app = new Hono(); app.use('/screenshot.png', serveStatic({ path: './screenshot.png' })); app.get('/', (c) => c.text('Hello Node.js!')); // app.get('/json', async (c) => await fetch('http://127.0.0.1:9222/json')); serve({ port: 3000, fetch: app.fetch, // createServer: createSecureServer, }); const browser = await chromium.launch({ headless: true, args: ['--disable-blink-features=AutomationControlled' /* , '--remote-debugging-port=9222' */], channel: 'chrome', }); const context = await browser.newContext({ ...devices['Desktop Chrome'], colorScheme: 'dark', // viewport: null, viewport: { width: 1920, height: 1080 }, // deviceScaleFactor: undefined, }); const page = await context.newPage(); // await page.goto('https://bot.sannysoft.com', { waitUntil: 'load' }); // await page.goto('https://www.browserscan.net/bot-detection'); // await page.goto('https://fingerprintjs.github.io/BotD/main/'); await page.goto('https://translate.google.com/?sl=auto&tl=en&op=images', { waitUntil: 'load' }); await page.screenshot({ path: 'screenshot.png', fullPage: true }); // await page.waitForEvent('close', { timeout: 0 }); await context.close(); await browser.close();