- Browse and scrape web pages using Playwright with Camoufox anti-detection browser - Supports automated web workflows, authenticated sessions, and bot protection bypass - Includes scripts for browse, scrape, auth, and local app scanning - Updated README with skill documentation and system library requirements
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { Camoufox } from 'camoufox-js';
|
|
import { homedir } from 'os';
|
|
import { join } from 'path';
|
|
import { mkdirSync, existsSync } from 'fs';
|
|
|
|
async function test() {
|
|
const profilePath = join(homedir(), '.camoufox-profile');
|
|
if (!existsSync(profilePath)) {
|
|
mkdirSync(profilePath, { recursive: true });
|
|
}
|
|
|
|
console.log('Profile path:', profilePath);
|
|
console.log('Launching with full options...');
|
|
|
|
const browser = await Camoufox({
|
|
headless: true,
|
|
user_data_dir: profilePath,
|
|
// humanize: 1.5, // Test without this first
|
|
// geoip: true, // Test without this first
|
|
// enable_cache: true,
|
|
// block_webrtc: false,
|
|
});
|
|
|
|
console.log('Browser launched');
|
|
const page = await browser.newPage();
|
|
console.log('Page created');
|
|
|
|
await page.goto('https://github.com', { timeout: 30000 });
|
|
console.log('Navigated to:', page.url());
|
|
console.log('Title:', await page.title());
|
|
|
|
await page.screenshot({ path: '/tmp/github-test.png' });
|
|
console.log('Screenshot saved');
|
|
|
|
await browser.close();
|
|
console.log('Done');
|
|
}
|
|
|
|
test().catch(console.error);
|