Selenium RC means Selenium Remote Control. It was the original Selenium version, now called Selenium 1. Its client/server architecture used Selenium Core in the browser. WebDriver replaced it as the direction for browser automation: Selenium 2 introduced WebDriver, Selenium 3 removed the original RC implementation, and Selenium 4 implements the W3C WebDriver specification. RC is therefore useful to understand when maintaining old tests or reading older material, but it is not the recommended starting point for new automation.
What Selenium RC was
Selenium RC was the first generation of the Selenium browser-automation project. In its original architecture, a language client sent commands to an RC server, which mediated browser automation through Selenium Core, a JavaScript framework running in the browser. The server-and-browser arrangement is the main architectural distinction from WebDriver.
As an Amazon Associate I earn from qualifying purchases.
The Selenium project now keeps RC documentation as historical material, rather than as a recommendation to use the legacy components. The name still appears in older code, documentation, and interview questions, so recognizing it helps explain why a project may have older APIs even if its current Selenium setup is different.
How Selenium RC evolved into WebDriver
| Generation | What changed | What it means for a team |
|---|---|---|
| Selenium 1 / RC | The original Selenium version, built around Selenium Core. | Older suites may use RC interfaces and assumptions tied to Selenium Core. |
| Selenium 2 | Introduced WebDriver APIs and combined WebDriver code with Selenium 1. A WebDriver-backed version of the old Selenium API provided a transition path for some existing code. | Selenium 2 was a transition, not simply a new name for RC. |
| Selenium 3 | Removed the original Selenium Core implementation and moved RC interfaces into a legacy package. The project’s announcement said WebDriver APIs were then the only APIs actively supported by the project. | The legacy interfaces could serve as a compatibility bridge, but the project discouraged using them unless necessary. |
| Selenium 4 | Implements the W3C WebDriver specification; the current Selenium overview directs people starting browser automation to WebDriver APIs. | Use WebDriver for new browser automation rather than starting with RC. |
The Selenium 3-era support statement is historical context, not a claim about every later policy. Release listings record Selenium RC 3.1.0 as a final release on February 16, 2017, and WebDriverBackedSelenium 4.1.0 as a final release on November 22, 2021. Those dates do not establish that an old RC suite is compatible with a present-day browser or driver.
#1 Best Overall
How RC differs from WebDriver
RC used Selenium Core and an intermediary server to issue browser commands. WebDriver instead uses browser automation APIs provided by browser vendors. That underlying technology change matters: legacy test code and locators may not behave identically when moved to WebDriver, and facilities that depended on Selenium Core internals are not automatically available.
The Selenium project’s current overview recommends WebDriver for desktop and mobile website automation. The practical distinction is not just terminology: an RC-style API carried forward temporarily by a compatibility layer is not the same thing as using the current WebDriver APIs directly.
Rank #2
Should you keep an existing RC suite or migrate?
| Choice | Trade-off | When it fits |
|---|---|---|
| Keep RC interfaces temporarily | May require fewer immediate test-code changes if the suite still runs, but remains a legacy compatibility path. | A short-lived bridge for a constrained suite where an incremental migration is planned. |
| Migrate to WebDriver | Requires changes to test setup and potentially test code; locators and Core-dependent behavior need validation. | New tests and ongoing maintenance aligned with the current Selenium direction. |
The right effort estimate depends on the suite’s language binding, browser stack, and reliance on Selenium Core behavior. The Selenium migration guidance describes piecemeal migration rather than requiring one all-at-once rewrite.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteA practical migration sequence
- Record a baseline. Get the existing suite running reliably with the latest Selenium release available to the project before changing its APIs. Keep the current results so regressions can be distinguished from pre-existing failures.
- Migrate in increments. Move a manageable portion of the suite at a time, prioritizing unstable or costly areas rather than rewriting everything together.
- Change test setup, then test code. First change how tests obtain their automation object; then migrate calls to WebDriver APIs. The historical Java guide describes wrapping a WebDriver in
WebDriverBackedSeleniumas an intermediate compatibility step. Treat that wrapper as a bridge for existing code, not a pattern for greenfield tests. - Audit locators and Core dependencies. Recheck XPath and CSS expressions that worked under Selenium 1, because locator handling can differ. Identify code that relied on Selenium Core facilities such as Browserbot; WebDriver is not based on Selenium Core, so those dependencies need a different approach.
- Run and validate after each increment. Compare outcomes with the baseline, investigate failures caused by changed behavior, and avoid assuming that a successful API conversion proves equivalent test coverage.
Common migration problems to check
- A locator no longer finds the same element: review the XPath or CSS expression in the context of WebDriver’s browser-native locator behavior; do not assume every Selenium 1 expression transfers unchanged.
- Code expects Browserbot or another Core facility: identify the specific dependency and redesign that part of the test, since WebDriver does not run on Selenium Core.
- Tests fail after changing the automation object: compare with the pre-migration baseline and separate setup changes from later test-code changes by migrating in small increments.
- An old suite works only with an obsolete browser stack: the historical RC material does not establish compatibility with current browsers or drivers. Verify the exact binding and browser stack rather than treating the legacy documentation as a current support guarantee.
For screenshot-only jobs, use a screenshot API rather than RC
If the task is to capture a page image or PDF rather than interact with the page as a test, ScreenshotNeo is a focused alternative to browser-test setup, not a replacement for Selenium WebDriver tests. It accepts a URL in one GET request and can return PNG, JPEG, WebP, or PDF. It also removes supported cookie-consent banners, newsletter popups, and chat widgets before capture; failed loads, bot checks, blank pages, and cache hits are not billed. An MCP server provides screenshot and PDF tools for AI agents.
For example, this cURL request captures a page as WebP. See the ScreenshotNeo API documentation for request options and response details.
Rank #3
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo has a free allowance of 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. See ScreenshotNeo for the service details, or sign up free to try it.
Quick Recap
Best Value
Rank #4
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.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →




