-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbrowser-example.js
More file actions
62 lines (52 loc) · 1.83 KB
/
browser-example.js
File metadata and controls
62 lines (52 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
* Example: Demonstrating how to use the Scrapeless SDK browser module
* Filename: browser-example.js
*
* Environment variables required:
* - SCRAPELESS_API_KEY: Your Scrapeless API key
*
* Optional environment variables:
* - SCRAPELESS_API_HOST: API host (defaults to https://api.scrapeless.com)
* - SCRAPELESS_SCRAPING_BROWSER_HOST: Browser service host (defaults to https://browser.scrapeless.com)
*/
import { ScrapelessClient } from '@scrapeless-ai/sdk';
import puppeteer from 'puppeteer-core';
/**
* Demonstrates how to create a browser session and navigate to a website
*/
async function runExample() {
try {
// Initialize the client with API key from environment
const client = new ScrapelessClient({
apiKey: process.env.SCRAPELESS_API_KEY
});
console.log('Creating browser session...');
// Create browser session and get WebSocket endpoint
const { browserWSEndpoint } = await client.browser.createSession({
sessionName: 'sdk_test',
sessionTTL: 180,
proxyCountry: 'US',
proxyState: 'KS',
proxyCity: 'gardner',
sessionRecording: true
});
console.log('Browser WebSocket endpoint created:', browserWSEndpoint);
// Connect to browser using puppeteer
const browser = await puppeteer.connect({
browserWSEndpoint: browserWSEndpoint
});
// Open new page and navigate to website
const page = await browser.newPage();
await page.goto('https://www.scrapeless.com');
console.log('Page title:', await page.title());
// Take screenshot
await page.screenshot({ path: './browser-example.png', fullPage: true });
// Close browser
await browser.close();
console.log('Example completed successfully');
} catch (error) {
console.error('Example error:', error);
}
}
// Run the example
runExample().catch(console.error);