October 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 ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

How Selenium Is Built: A Guide to Its Build Process

Selenium uses Bazel to coordinate builds across language bindings and shared components. Here’s what that means—and how it differs from installing Selenium for your tests.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Selenium uses Bazel to coordinate the build of a project that spans multiple programming languages and shared components. The build turns source code and related artifacts into things the project distributes, including Selenium Server and language bindings. Understanding that process is different from adding Selenium to your own test project: one starts from Selenium’s source repository; the other adds a released library through a package manager.

What “building Selenium” means

A build converts source code and related artifacts into outputs that can be distributed. Selenium’s build explanation, published June 12, 2023, names Selenium Server and the language bindings as examples of those outputs. It also describes artifacts that are shared across parts of the project, rather than belonging to only one language binding.

Those shared pieces include reusable JavaScript atoms, files describing shared Chrome DevTools Protocol (CDP) capabilities, and Selenium Manager, a Rust tool bundled with language bindings. The build therefore has to produce a coherent project from components written in or used by different languages.

Why Selenium uses Bazel

The project’s published explanation says Selenium chose Bazel because it needed one extensible build system to coordinate work across languages. A collection of separate, language-specific build tools would not by itself express all the relationships between shared artifacts and the outputs that depend on them.

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

Dependencies form a graph

Bazel represents build dependencies as a directed acyclic graph. In practical terms, a task declares what it needs; tasks with no dependency relationship can be eligible to run independently. Bazel can use that graph to identify work that can run in parallel, which the Selenium article says can make builds faster. The article gives no benchmark or numerical speedup, so the performance benefit should be understood qualitatively, not as a promised time reduction.

Declared tools and downloads

The same explanation presents declared dependencies as a way to reduce the amount of manual toolchain setup a developer must do: Bazel can obtain tools needed for the build. It also warns that an initial build can take a while while dependencies are downloaded. These are descriptions in the June 12, 2023 article, not confirmation that every current prerequisite or setup behavior is unchanged.

What a contributor’s build workflow involves

The project article summarizes the contributor path as cloning the Selenium repository, installing Bazel, and running the build. That is a high-level outline, not a complete current recipe: it does not establish today’s exact commands, supported tool versions, operating-system requirements, or build targets. Check the current repository contributor instructions before running commands; do not treat a remembered or older command as authoritative.

  1. Start with the Selenium source repository. A contributor build begins with the project source, rather than with an application dependency file.
  2. Check the current setup instructions. Confirm the required Bazel version, other prerequisites, and any platform-specific setup in the repository documentation.
  3. Run the documented build target. The target determines which project outputs are built; the 2023 overview does not specify a current target or command.
  4. Allow for dependency downloads on an initial build. The project article notes that the first build may take a while while dependencies are obtained. Later build duration depends on the work requested and the build environment; no measured duration is established here.

Building Selenium is not the same as using Selenium

If your goal is to write browser tests, you usually consume a released language binding rather than build the Selenium project itself. Selenium’s installation documentation describes package-manager workflows, including Maven or Gradle for Java. In that workflow, your application declares a Selenium dependency and uses the library; the output is your test project, not Selenium’s release artifacts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Workflow Starting point Goal and output
Build Selenium as a contributor Selenium source repository Build project components and distributable outputs, such as Selenium Server or language bindings.
Use Selenium in an application Your application and its dependency configuration Install a released binding, for example through Maven or Gradle in a Java project, and use it in tests.

Selenium’s component documentation describes language-specific libraries and browser-controlling drivers; WebDriver encompasses both language bindings and browser-control implementations. For choosing a released binding or checking current release details, consult Selenium’s live downloads and component documentation rather than relying on a version snapshot. No compatibility table or current release version is asserted here.

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 you need a screenshot of a page while documenting or investigating browser behavior, ScreenshotNeo is a separate website screenshot API—not a way to build Selenium. One GET request can return a PNG, JPEG, WebP, or PDF. See the ScreenshotNeo API documentation for request options.

For example, this cURL request saves a WebP screenshot of the specified URL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
  • Cookie/consent banners are accepted and removed, along with 60+ known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off.
  • Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing; response headers identify the page verdict and whether the request was billed.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients.
  • The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000, and every feature is available on every plan.

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

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

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
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

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.