35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
// ⚠️ GENERATED FILE – do not edit directly. Edit the canonical source in skills/web-automation/shared/ and run `pnpm run sync:pi`.
|
||
import { launchPersistentContext } from 'cloakbrowser';
|
||
import { homedir } from 'os';
|
||
import { join } from 'path';
|
||
import { mkdirSync, existsSync } from 'fs';
|
||
|
||
async function test() {
|
||
const profilePath = join(homedir(), '.cloakbrowser-profile');
|
||
if (!existsSync(profilePath)) {
|
||
mkdirSync(profilePath, { recursive: true });
|
||
}
|
||
|
||
console.log('Profile path:', profilePath);
|
||
console.log('Launching with persistent userDataDir...');
|
||
|
||
const browser = await launchPersistentContext({
|
||
headless: true,
|
||
userDataDir: profilePath,
|
||
humanize: true,
|
||
});
|
||
|
||
console.log('Browser launched');
|
||
const page = browser.pages()[0] || await browser.newPage();
|
||
console.log('Page created');
|
||
|
||
await page.goto('https://example.com', { timeout: 30000 });
|
||
console.log('Navigated to:', page.url());
|
||
console.log('Title:', await page.title());
|
||
|
||
await browser.close();
|
||
console.log('Done');
|
||
}
|
||
|
||
test().catch(console.error);
|