Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
To get a Playwright Firefox run to finish reliably, launch Playwright’s own Firefox build, register the stealth plugin before launching, and navigate only after the plugin’s page hooks are ready. Treat stealth as a set of browser-specific changes—not a guarantee that Firefox will pass every bot check. The popular puppeteer-extra-plugin-stealth integration is documented as Chromium-oriented, so a plugin can load on Firefox while an individual evasion still breaks or misrepresents it.
What “finish a Firefox run” requires
A run is complete when the browser starts, the page reaches the readiness condition your task actually needs, your work succeeds or fails with a useful diagnostic, and the browser processes are closed. Stealth is only one variable in that sequence. A timeout alone does not prove that the site detected automation: the page may simply never have reached the chosen navigation state, or the application may need an additional readiness signal.
Start with four controls: use the browser build supported by Playwright; install the plugin before launch; wait for its page-level setup before the first navigation when the integration requires it; and use explicit timeouts plus cleanup. Then test Firefox behavior separately from Chromium behavior instead of assuming that a shared plugin name means shared evasion coverage.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Set up the supported Firefox browser and plugin
Install Playwright and the integration packages in your project, then download Playwright’s Firefox build:
#1 Best Overall
- CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
- WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
- A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
npm install playwright playwright-extra puppeteer-extra-plugin-stealth
npx playwright install firefox
Playwright’s Firefox build is patched for Playwright. Its documentation says branded Firefox is unsupported because Playwright relies on patches. Avoid pointing executablePath at an ordinary desktop Firefox installation unless you have verified that specific support path; a system binary can behave differently from the build Playwright expects.
The important ordering is registration, launch, context and page creation, plugin initialization, then navigation. The integration’s exact hook behavior can vary, so consult its current documentation. The @mr_ozio/playwright-stealth wrapper, for example, documents waiting for page-level hooks before the first navigation. Do not copy an initialization wait from one wrapper into another unless that wrapper supports it.
Use a controlled Firefox run
This ESM example shows the lifecycle: register the plugin on Playwright Extra’s Firefox instance before launching, create an isolated context, record a trace, navigate with a bounded timeout, and close resources even when navigation or assertions fail. It is an integration pattern, not evidence that every stealth evasion is Firefox-compatible.
Recommended Free Tools
import { firefox } from 'playwright-extra'
import StealthPlugin from 'puppeteer-extra-plugin-stealth'
firefox.use(StealthPlugin())
const browser = await firefox.launch({ headless: true })
let context
try {
context = await browser.newContext()
await context.tracing.start({ screenshots: true, snapshots: true })
const page = await context.newPage()
page.setDefaultNavigationTimeout(30_000)
page.setDefaultTimeout(10_000)
page.on('console', message => {
console.log(`[console:${message.type()}] ${message.text()}`)
})
page.on('pageerror', error => {
console.error('[pageerror]', error)
})
const response = await page.goto('https://example.test', {
waitUntil: 'domcontentloaded',
timeout: 30_000
})
console.log('HTTP status:', response?.status())
await page.getByRole('main').waitFor({ state: 'visible', timeout: 10_000 })
// Perform task-specific actions and assertions here.
} catch (error) {
console.error('Firefox run failed:', error)
throw error
} finally {
if (context) {
try {
await context.tracing.stop({ path: 'firefox-run-trace.zip' })
} finally {
await context.close()
}
}
await browser.close()
}
The example expects the target page to have a visible main landmark; replace that assertion with an application-specific signal, such as a known heading, completed network-backed state, or result element. If the site returns no response object—for example, because navigation failed—do not treat the optional status as proof of success. Check that the expected page state appeared.
Rank #2
- CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
- SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
The finally block matters in repeated runs and CI: an exception during navigation should not leave a Firefox process behind. Traces can contain page content and other sensitive data, so store them appropriately and avoid collecting them for pages where you are not allowed to retain that information.
Choose a readiness condition that matches the task
Navigation events are not interchangeable. domcontentloaded means the initial document was parsed; it does not mean a JavaScript application has rendered its final state. A later load state may wait for resources that a modern page keeps open, while a fixed delay is simple but can be either wasteful or too short. Prefer an observable condition that corresponds to the work you need to do.
- Document-based task: use
domcontentloadedand then verify the relevant content or element. - Single-page application: wait for a stable selector or application-specific state after navigation.
- Delayed content: wait for the relevant element or use a measured delay only when there is no better signal.
- Network-dependent task: set a finite timeout and verify the expected result; do not assume that a navigation event alone means the application is ready.
Keep navigation and action timeouts explicit. If a site legitimately needs longer, raise the relevant timeout deliberately rather than making all waits unlimited. Record which wait condition failed: that narrows the problem more effectively than labeling every timeout a stealth failure.
Check Firefox compatibility one evasion at a time
The widely used stealth plugin in this integration is described by playwright-extra as optimized for Chromium-based browsers. Registering it on Firefox does not establish that its full default set is safe for Firefox. In particular, inspect evasions that assume Chrome-specific identity strings, browser APIs, or version formats.
Rank #3
- Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
- Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
- Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
- In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
- Ultra-thin bezels: Maximize your viewing experience with thin bezels.
A reported Firefox bug illustrates the risk: a user-agent override attempted to parse a Chrome-style version from the value “Firefox Headless,” and the report says disabling that evasion allowed a PDF download flow to work. That is evidence of a particular failure, not a universal fix or a recommended configuration for every site. Review the currently installed plugin’s configuration and the failing evasion before changing it; do not assume an option name or disable mechanism from another version.
When comparing runs, change one factor at a time:
| Comparison | What it helps isolate |
|---|---|
| Playwright Firefox versus Playwright Chromium | Whether the failure is specific to the browser engine or shared by the task and site. |
| Bundled browser versus custom executable | Whether the browser build is part of the problem. |
| Headless versus headful | Whether the observed behavior changes with the launch mode; it does not establish that either mode will pass a challenge. |
| Full plugin set versus a reduced set | Whether one or more evasions cause a compatibility problem. |
| Navigation event versus application readiness signal | Whether the timeout is caused by waiting for the wrong milestone. |
| Fresh context versus persistent profile | Whether state carried between runs affects the result. |
| Same code on a different network | Whether network or IP-related conditions correlate with the failure. |
For each run, note the Playwright and plugin versions, browser build, launch options, plugin configuration, URL, wait condition, timeout, and first failing event. A report that a Cloudflare challenge failed with Playwright plus stealth while a reporter said Puppeteer plus stealth worked under comparable headful conditions is anecdotal; it does not isolate the cause or establish that Puppeteer will work for your case.
Troubleshoot common failures
Firefox does not launch or behaves differently on one machine
First confirm that Playwright’s Firefox browser was installed for the project and that the script is not silently selecting a system executable. Run the same minimal launch without custom launch settings, then add settings back one by one. Playwright documents launch controls such as headless and Firefox preferences; use only options supported by the installed Playwright version.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesThe navigation timeout expires
Check the trace, console output, page errors, and the last event before failure. Determine whether goto timed out, a selector never appeared, or a later action stalled. Try domcontentloaded plus an explicit readiness check if you were waiting for a later page-wide load condition. A timeout is not, by itself, proof of bot detection.
Rank #4
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
A plugin hook or evasion throws an error
Verify that the plugin is registered on the Firefox instance before launch and that any documented page-level initialization completes before navigation. Then reduce the active evasions and reproduce the failure. A Chrome-version parsing error or incompatible identity override is a reason to inspect that specific evasion, not to layer on more spoofing settings.
The target presents a challenge or blocks the run
Stealth does not promise universal undetectability. A successful test on one detector or URL is a result for that test condition, not a general pass claim. If the page is protected, use an authorized integration or testing environment where possible; do not represent a plugin as a way to guarantee access.
Firefox processes remain after an error
Ensure browser and context closure are in finally paths, including when navigation, assertions, or trace writing fails. If a context exists, close it before the browser; if tracing was started, stop it with error handling that does not prevent cleanup.
Performance, reliability, and cost considerations
Use a new browser context for isolation when runs should not share cookies or local storage. A persistent profile can be useful when persistence is part of the test, but it adds state that can obscure a diagnosis. No universal Firefox-stealth success rate or performance benchmark has been published, so measure your own workload under recorded browser, plugin, network, and page conditions.
Best Value
- 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
- 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
- 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
For repeatable automation, separate startup, navigation, readiness, and task timings in logs. Keep timeouts finite, preserve traces only when useful, and run a small Firefox smoke test when updating Playwright or the plugin. Plugin evasions and browser behavior can change over time; validate the precise combination you deploy rather than assuming a prior Chromium result carries over.
Or skip the browser setup
If the actual deliverable is a screenshot rather than an interactive Firefox automation run, ScreenshotNeo offers a screenshot API and MCP server; it does not replace Playwright stealth or promise to finish a protected browser workflow. A single GET request can return a PNG, JPEG, WebP, or PDF. The example below requests a WebP screenshot; see the ScreenshotNeo API documentation for parameters.
curl -G "https://api.screenshotneo.com/v1/shot"
-d access_key=YOUR_API_KEY
--data-urlencode url=https://example.test
-o shot.webp
ScreenshotNeo accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. An MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.
Frequently Asked Questions
Does a successful Firefox run prove that stealth worked?
No. A successful run proves only that the particular task completed under the conditions you recorded. It does not establish that every detection system will treat the browser the same way.
Should I use a persistent Firefox profile for every run?
No. Use persistent state only when the workflow requires it; otherwise a fresh context makes tests easier to isolate and reproduce.
Can I use ScreenshotNeo to automate an interactive Firefox session?
No. ScreenshotNeo is for page screenshots and PDFs, with related page-info and MCP tools. It is an alternative when the needed output is a capture, not a replacement for Playwright-driven interaction.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

