steel_puppeteer_starter
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v2View latest version
This template shows you how to use Steel with Puppeteer to run browser automations in the cloud on Val Town. It includes session management, error handling, and a basic example you can customize. This starter templated was ported from this one on Github.
The script shows you how to:
- Create and manage a Steel browser session
- Connect Puppeteer to the session
- Navigate to a website (Hacker News in this example)
- Extract data from the page (top 5 stories)
- Handle errors and cleanup properly
- View your live session in Steel's session viewer
To run it:
- Get your free Steel API key at https://app.steel.dev/settings/api-keys
- Add it to your Val Town Environment Variables as
STEEL_API_KEY
- Click
Fork
on this val - Click
Run
on this val
Find this section in the script:
// ============================================================
// Your Automations Go Here!
// ============================================================
// Example automation (you can delete this)
await page.goto('https://news.ycombinator.com');
// ... rest of example code
You can replace the code here with whatever automation scripts you want to run.
The template includes common Steel configurations you can enable:
const session = await client.sessions.create({
useProxy: true, // Use Steel's proxy network
solveCaptcha: true, // Enable CAPTCHA solving
sessionTimeout: 1800000, // 30 minute timeout (default: 15 mins)
userAgent: 'custom-ua', // Custom User-Agent
});
The template includes error handling and cleanup:
try {
// Your automation code
} finally {
// Cleanup runs even if there's an error
if (browser) await browser.close();
if (session) await client.sessions.release(session.id);
}