Persistent Firefox profiles for Playwright workflows
Connect browser automation to prepared profiles with explicit storage, proxy and browser environment configuration.
A prepared profile becomes the automation context
Use an existing profile data directory instead of rebuilding the browser state for every run. Scripts can work with separate profile, proxy and browser identity settings.
const context = await firefox.launchPersistentContext(
profilePath,
{ headless: false }
);Playwright run
Adapt existing Playwright workflows
Existing scripts can usually retain their navigation and interaction logic while browser initialization is changed to use the prepared Firefox environment.
- Synchronous and asynchronous Python workflows
- One or many browser profiles
- Local or remote server execution
- Visible mode through a virtual display
Playwright run
Keep automation components isolated
Automation components can be separated from normal website JavaScript where technically possible. The setup reduces common browser automation indicators without claiming that all detection is impossible.
Configurable interaction timing
Automation flows can use varied cursor paths, realistic scrolling, configurable pauses and typing delays when the workflow requires them.
- Non-instant interactions
- Per-task timing
- Observable launch and error state