DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk4 min

How Selenium WebDriver Works: The Client–Server Transport Layer

Selenium WebDriver turns language-binding calls into HTTP commands for a browser session. See how routing, session IDs, Grid and BiDi fit together.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Selenium WebDriver works by translating browser actions in a language binding into HTTP commands sent to a remote end. That end controls the browser and returns results to the client. A session ID ties later commands to the session; Selenium Grid can route those requests to a remote machine. WebDriver BiDi adds a WebSocket channel for browser events alongside the classic command-and-response protocol.

What the client-server transport layer means

The WebDriver API lets a test describe actions such as opening a page or finding an element without manually assembling protocol messages. Underneath, the language binding sends commands to a remote end that implements WebDriver and controls the browser. The W3C Recommendation describes a session as “the connection between a local end and a specific remote end.” W3C WebDriver Recommendation

“Client-server” describes the protocol relationship, not necessarily two separate computers. In a local setup, the client-side code, driver service and browser can all run on the same machine while still communicating through the WebDriver protocol. With Remote WebDriver, the requests travel over the network to Selenium Grid or another remote endpoint.

What happens when you call a WebDriver method?

  1. The test calls the binding. Your code invokes a language-specific WebDriver API, such as navigation or element interaction. The binding handles protocol details so the test can work at the API level.
  2. The binding creates a session. When a driver object is initialized, the client requests a new session and supplies browser options or capabilities describing the requested environment. Selenium’s Driver Sessions documentation explains session creation.
  3. The client sends an HTTP command. Classic WebDriver uses request-response commands over HTTP. The HTTP method and URL identify the command endpoint; the request carries its parameters.
  4. The remote end runs the command. The WebDriver implementation receives the request, maps it to the relevant command steps and applies them to the browser.
  5. The response returns to the binding. The remote end sends a result or error in the HTTP response. The binding presents that outcome through the language API.

For example, a call such as driver.get("https://example.com") is an API-level navigation request. The binding sends the corresponding WebDriver command; the remote end instructs the browser to navigate and returns the command result. The exact protocol details are normally handled by Selenium rather than written in the test.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How WebDriver uses HTTP routes

A WebDriver endpoint is selected using the HTTP method and URL. The remote end maps that request to a command. The W3C Recommendation defines the established protocol behavior; the newer 2026 WebDriver text is still a Working Draft and describes, among other details, how a remote end may use a URL prefix. Its example routes session creation to POST /wd/session rather than POST /session. Do not treat draft-only routing text as a replacement for the Recommendation. WebDriver 2 Working Draft, 28 May 2026; W3C WebDriver standards index

The session-creation response provides a session identifier. Subsequent commands use that ID to preserve context and address the active session. Without it, the remote end could not reliably associate a command with the browser session the client intends to control. See the Recommendation’s session and command model.

Where the browser and requests run

Execution mode Where the client sends requests Where the browser is controlled Routing
Local WebDriver To the locally available driver service On the client machine No Grid intermediary is required
Remote WebDriver through Grid To the configured Grid address At a remote computer/end node Grid forwards requests to the WebDriver endpoint at the end node

Selenium’s API concept remains a WebDriver session in either mode; what changes is the destination and route of the HTTP traffic. Remote execution requires the remote address as well as browser options. The request and response travel through the configured remote path. Selenium Remote WebDriver

How a session ends

Calling quit corresponds to the WebDriver Delete Session command. The remote end removes the session from its active sessions, and the browser process may close. The Recommendation also allows session teardown when the last top-level browsing context is closed. Selenium documents the usual lifecycle in Driver Sessions; the normative behavior is in the W3C Recommendation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Classic WebDriver versus WebDriver BiDi

Aspect Classic WebDriver WebDriver BiDi
Transport HTTP request-response commands WebSocket channel
Interaction pattern Client sends a command and receives its response Bidirectional communication supports event streaming as well as interactions
Typical role Command-oriented browser control Browser events and other two-way interactions that benefit from a persistent channel

BiDi complements the classic protocol; it does not mean that all WebDriver commands have become WebSocket messages. Available BiDi features can vary by browser and Selenium implementation, so check the support for the specific browser and feature you need. Selenium WebDriver BiDi

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is to save a page image or PDF rather than drive an interactive browser test, ScreenshotNeo offers a one-request screenshot API and MCP server. It is not a substitute for Selenium’s interactive testing protocol; it is an alternative for capturing pages.

For API details and parameters, see the ScreenshotNeo documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo can accept cookie or consent banners and remove more than 60 known consent platforms, newsletter popups and chat widgets before capture; those steps can be turned off. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for AI agents. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Sign up for 1,000 free screenshots a month with no card.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.