Playwright
How to use in Playwright
- Run Nstbrowser client or Docker, the client server will listen on port:
8848
- Run JavaScript demo below
Common code
You need to install playwright first: npm install playwright
import { chromium } from 'playwright';
async function execPlaywright(browserWSEndpoint) {
try {
const browser = await chromium.connectOverCDP(browserWSEndpoint);
const page = await browser.newPage();
await page.goto('https://nstbrowser.io/');
await page.screenshot({path: 'screenshot.png'});
await browser.close();
} catch (err) {
console.error(err);
}
}
ConnectBrowser
Automation with ConnectBrowser API
import { chromium } from 'playwright';
import { URLSearchParams } from 'url';
// ConnectBrowser: Launch and connect to a running browser or a created profile
async function launchAndConnectToBrowser(profileId) {
const host = 'localhost:8848';
const apiKey = 'your api key';
const config = {
headless: false, // support: true or false
autoClose: true,
};
const query = new URLSearchParams({
'x-api-key': apiKey, // required
config: encodeURIComponent(JSON.stringify(config)),
});
const browserWSEndpoint = `ws://${host}/api/v2/connect/${profileId}?${query.toString()}`;
console.log('browserWSEndpoint: ', browserWSEndpoint);
await execPlaywright(browserWSEndpoint);
}
launchAndConnectToBrowser('your profileId').then();
ConnectOnceBrowser
Automation with ConnectOnceBrowser API
import { chromium } from 'playwright';
import { URLSearchParams } from 'url';
// ConnectOnceBrowser: Launch or connect to a once browser
async function createAndConnectToBrowser() {
const host = 'localhost:8848';
const apiKey = 'your api key';
const config = {
name: 'testProfile',
platform: 'windows', // support: windows, macos, linux
kernelMilestone: '132',
headless: false, // support: true or false
autoClose: true,
remoteDebuggingPort: 9223,
proxy: '', // input format: schema://user:password@host:port eg: http://user:password@localhost:8080
args: {
"--proxy-bypass-list": "detect.nstbrowser.io"
}, // browser args
fingerprint: {
hardwareConcurrency: 16,
deviceMemory: 8,
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.56 Safari/537.36', // userAgent supported since v0.15.0
},
};
const query = new URLSearchParams({
'x-api-key': apiKey, // required
config: encodeURIComponent(JSON.stringify(config)),
});
const browserWSEndpoint = `ws://${host}/api/v2/connect?${query.toString()}`;
console.log('browserWSEndpoint: ', browserWSEndpoint);
await execPlaywright(browserWSEndpoint);
}
createAndConnectToBrowser().then();
Last modified: 4 days ago