T1ckbase
test
1c93e9d
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();