spectacularBlackParrot
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
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);
}