ScreenshotNeo

BlogGuides

Selenium News and Updates: A Smattering of Selenium 107

“Selenium 107” most likely refers to Chrome DevTools Protocol files in Selenium’s JavaScript 4.6.0 changelog—not a Selenium product version.

By the ScreenshotNeo team4 October 20267 min read

“Selenium 107” is best read as a reference to Chrome DevTools Protocol (CDP) version 107 files in Selenium’s JavaScript 4.6.0 changelog. It does not appear to identify a Selenium product release numbered 107. The changelog says CDP files for v107 were added and v104 files removed; that is a scoped compatibility update, not a guarantee that every Chrome 107 setup works with every Selenium binding.

The entry is historical. Selenium continues to release updates across language bindings and Grid. Check the official Selenium downloads page for the binding and version you use, then consult that binding’s release notes for the feature or browser compatibility detail you need.

1. What does “Selenium 107” mean?

The strongest match for “107” in the official sources is CDP v107, mentioned in the JavaScript binding’s Selenium 4.6.0 changelog. CDP is a browser communication protocol used by Selenium’s Chrome-related tooling. The changelog line describes adding files for one CDP version and removing files for another. It does not say that Selenium itself became version 107.

This distinction matters when debugging. Selenium has versioned language bindings and server components; Chrome and its DevTools Protocol have their own versions. A number from one of those systems should not be treated as a Selenium release number without checking the source.

2. What changed in Selenium 4.6.0?

The JavaScript Selenium changelog lists these items under v4.6.0:

  • Grid gained the ability to confirm with Enter and a search field for running sessions.
  • Selenium Manager support was added.
  • A thenable fix for isPromise() and a fix making methods static were listed.
  • CDP files for v107 were added and v104 files removed.

These are entries from the JavaScript changelog. They should not be read as a complete list of changes in every Selenium language binding, nor as a compatibility matrix for all Chrome installations. For a project using Python, Java, .NET, Ruby, or another binding, look up that binding’s release information separately.

3. Does Selenium support Chrome 107?

The changelog entry is evidence that Selenium’s JavaScript binding included CDP files for v107 in its 4.6.0 line. It is not, by itself, a universal support statement for Chrome 107. Actual behavior can depend on the Selenium binding and version, browser version, driver setup, and which CDP-backed feature your test uses.

To check a particular setup:

  1. Record the Selenium binding and exact version installed by your project.
  2. Record the Chrome version and how the driver is obtained or managed.
  3. Identify whether the test uses ordinary WebDriver commands or a CDP-specific feature.
  4. Review the changelog for that binding and version, then consult the official downloads listing for current installation guidance.
  5. Reproduce the specific command or feature that fails; a working page navigation does not prove every CDP feature is compatible.

Do not infer that removing v104 files means Selenium stopped supporting all browsers associated with that number. The release note only identifies files changed in the JavaScript binding.

4. How to install or update Selenium today

Selenium’s downloads page describes language-specific client drivers for local WebDriver scripts and scripts that interact with Selenium Server (Remote WebDriver). It lists the core bindings supported by the main project. Use that page to select the package and instructions for your language rather than copying an old version number from a historical changelog.

At the research date, September 9, 2026, the downloads listing showed .NET/C# 4.49.0. The Selenium project’s 4.49 release announcement, also dated September 9, 2026, names JavaScript, Ruby, Python, .NET, Java, and Grid. It highlights newer BiDi work and a Grid fix for file downloads when a filename contains spaces. This is useful context for how the project’s release notes span bindings and Grid; it does not mean BiDi replaces every CDP use.

5. Compare versions by binding and feature

When comparing Selenium 4.6.0 with a current release, compare the same language binding and check the feature you actually use. A practical checklist is:

Check Why it matters
Binding and exact Selenium version Changelog details can differ by language.
Browser and driver versions Browser compatibility is separate from the Selenium package number.
Protocol-dependent feature A CDP-related entry is relevant only if your workflow uses that capability.
Release notes for the target version They show whether the change was recorded for your binding.
Current official download instructions They avoid relying on stale installation guidance.

6. Troubleshooting version and CDP confusion

“I cannot find Selenium 107”

Cause: 107 is likely the CDP version referenced by the JavaScript changelog, not a Selenium release number. Fix: identify the Selenium binding version separately from the browser/CDP version.

“My Chrome 107 test fails even though the changelog mentions v107”

Cause: the changelog entry does not promise compatibility for every binding, driver, or CDP operation. Fix: capture the exact versions and failing command, inspect the matching binding’s release notes, and test the specific CDP-backed feature.

“The JavaScript changelog lists a fix, but my Python project behaves differently”

Cause: the cited list is explicitly the JavaScript binding changelog. Fix: consult Python’s release information for the version installed by your project.

“A current release note mentions BiDi; should I remove CDP code?”

Cause: a release announcement highlighting BiDi work does not establish that BiDi replaces all CDP use. Fix: keep the protocol your required feature supports, and verify the corresponding binding documentation and release notes before changing test code.

“Selenium Manager is listed, so will setup always be automatic?”

Cause: a changelog records the addition of support, not a guarantee that every environment’s browser and driver setup needs no configuration. Fix: check the current Selenium documentation and inspect the actual error and environment when driver startup fails.

7. Capturing browser output for debugging

If the failure is easier to diagnose visually, Selenium can take a screenshot of the current browser viewport. The following Python example uses the Selenium WebDriver API; install the Selenium package using the official instructions for your environment, and provide a compatible browser and driver setup.

from selenium import webdriver

options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com")
    driver.save_screenshot("debug.png")
finally:
    driver.quit()

This captures the current viewport, not necessarily the entire document. Make sure the page has reached the state you want before saving: a navigation can finish before a client-rendered interface or lazy-loaded content is ready. Use an explicit wait for a meaningful element in real tests, and save screenshots on failure when they will help explain the failure.

Or skip the browser setup

For a one-off page capture, ScreenshotNeo provides a website screenshot API and MCP server. One GET request returns an image or PDF. Cookie banners are accepted and removed before the shot, along with known consent platforms, newsletter popups, and chat widgets. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed; the response includes X-Page-Verdict and X-Billed headers. AI agents can use its MCP server tools take_screenshot, get_page_info, and capture_pdf.

cURL:

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

Python:

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const image = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', image));

See the ScreenshotNeo API documentation for request options and response details. It supports full-page or CSS element captures, device presets and custom viewports, retina scale, dark mode, PDF settings, custom CSS and JavaScript, click and hide selectors, wait conditions, request blocking, headers, cookies, user agents, authorization, timezone, geolocation, transparent backgrounds, resizing, configurable cache TTL, signed image links, asynchronous jobs with signed webhooks, batches of up to 100 URLs, a usage API, and an OpenAPI spec. Parameter names used by other screenshot APIs also work. Free includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000, and every feature is on every plan. Visit ScreenshotNeo to learn more, or sign up free for 1,000 screenshots a month with no card.

8. Reliability and cost considerations

For Selenium, stability depends on the full environment: binding, browser, driver, timing, network, and test data. Pin versions where reproducibility matters, record them in failure logs, wait for page conditions your test depends on, and close browser sessions in cleanup code. A screenshot can help diagnose a failure, but it does not replace logs or assertions.

For API captures, check the response status and the service’s verdict/billing headers rather than assuming every response represents a successful, billable page capture. Cache hits are not billed according to ScreenshotNeo’s stated billing behavior; a TTL you choose can reduce repeated capture work. Batch capture supports up to 100 URLs per call. No benchmark or latency guarantee is implied here, so measure the pages, options, and concurrency used by your own workflow.

9. Frequently asked questions

Is Selenium 107 a released Selenium version?

The source behind this title points to CDP v107 files in the Selenium JavaScript 4.6.0 changelog, not a Selenium release numbered 107.

Which Selenium version should I use now?

Use the official downloads page for your language binding and check that binding’s current release notes and requirements.

Does Selenium 4.49 use BiDi instead of CDP?

The 4.49 announcement highlights newer BiDi work, but the cited source does not say BiDi replaces all CDP uses.

Can I use ScreenshotNeo instead of Selenium?

Use Selenium when you need to drive browser interactions as part of a test. Use ScreenshotNeo when the task is to request a page screenshot or PDF through an API or MCP tool.