ScreenshotNeo

BlogEngineering

Selenium News and Updates: A Smattering of Selenium 61

“Selenium 61” is ambiguous: SeleniumLibrary 6.1.3 is a Robot Framework release, while Selenium’s core project is on the 4.x line.

By the ScreenshotNeo team4 October 20269 min read

“Selenium 61” does not identify a Selenium core release in the official sources reviewed for this article. The likely version match is SeleniumLibrary 6.1.3, a separate Robot Framework web-testing library that uses Selenium. Selenium core is on the 4.x release line: the official downloads page listed Selenium 4.49.0, released September 9, 2026, as stable when this article was prepared.

That distinction matters before you install or upgrade anything. If you meant SeleniumLibrary 6.1.3, the notable change was a fix for starting remote browsers when no options were supplied, along with removal of deprecated Selenium desired_capabilities usage. If you meant Selenium core, consult its 4.x release history; do not treat “Selenium 6.1” as an established core release based on the evidence here.

Release status and compatibility information below reflects official project materials reviewed October 3, 2026. Check the linked release pages before making an upgrade decision.

What does “Selenium 61” mean?

The title can be read in more than one way: “Selenium 6.1,” “SeleniumLibrary 6.1,” or “Selenium 61” as an installment number. The official materials support a concrete version match only for SeleniumLibrary 6.1.3. They identify Selenium core 4.49.0 as stable, not a core 6.1 release.

Name What it is Version context
Selenium Browser automation project with language-specific client bindings. The official downloads page listed Selenium 4.49.0 as stable, dated September 9, 2026.
SeleniumLibrary A Robot Framework library for web testing that uses Selenium internally. Version 6.1.3 was a 2023 release; the releases page now lists later versions, through 6.9.0 in the reviewed materials.

These are related projects, but they have different packages, release notes, and compatibility information. A SeleniumLibrary release does not change the Selenium core version number.

What changed in SeleniumLibrary 6.1.3?

SeleniumLibrary 6.1.3 was released October 12, 2023. Its release notes describe a hotfix for remote browser startup when callers did not provide options. The release also removed deprecated use of Selenium’s desired_capabilities.

  • Remote browser startup: the release addresses a failure case where options were omitted when starting a remote browser.
  • Deprecated capability handling: it removes SeleniumLibrary’s deprecated desired_capabilities use. Treat this as a package implementation change; do not assume the setting is still a supported way to configure your current stack.
  • Historical compatibility statement: the 6.1.3 release document says Python 3.8+, Selenium 4.3+, and Robot Framework 4.1.3 or later. Those minimums describe that release at the time, not the current support matrix for newer SeleniumLibrary releases.

The release notes do not establish that every remote-browser configuration will work automatically. Browser, driver, grid, and client versions still need to be compatible with the versions in your own environment.

How to install or pin SeleniumLibrary 6.1.3

If a project specifically needs this historical fix or must reproduce an older environment, install the package version explicitly in an isolated Python environment:

python -m venv .venv

# macOS or Linux
. .venv/bin/activate

# Windows PowerShell
# .venv\Scripts\Activate.ps1

python -m pip install --upgrade pip
python -m pip install "robotframework-seleniumlibrary==6.1.3"
python -m pip show robotframework-seleniumlibrary

The pinned package command is the one given in the project’s 6.1.3 release document. Pinning makes the requested SeleniumLibrary version explicit; it does not by itself pin Python, Robot Framework, Selenium, browser binaries, or a remote grid. For a reproducible test environment, record and manage those separately.

To use the current release instead, first inspect the project’s current release listing and compatibility information, then select a version that supports your Python and Robot Framework versions. Do not infer current compatibility from the old 6.1.3 minimums.

Minimal Robot Framework example

This small suite illustrates the library’s role. It opens a browser, visits a page, checks its title, and closes the browser. Install a compatible browser and driver setup for the SeleniumLibrary version you selected.

*** Settings ***
Library    SeleniumLibrary

Suite Teardown    Close All Browsers

*** Test Cases ***
Page Has Expected Title
    Open Browser    https://example.com    Chrome
    Title Should Be    Example Domain

Save it as example.robot and run it with:

robot example.robot

This is a Robot Framework example, not a Selenium core API example. If you are using Selenium directly from Java, Python, JavaScript, or another language, install and follow the binding’s own documentation and release notes instead.

Remote browser setup and the 6.1.3 fix

The 6.1.3 hotfix is relevant when a remote-browser test failed because no browser options were passed. A minimal remote setup should make the remote endpoint and browser choice explicit. For example, a Robot Framework suite can use the library’s remote browser support and provide capabilities through options appropriate to the installed versions:

*** Settings ***
Library    SeleniumLibrary
Suite Teardown    Close All Browsers

*** Test Cases ***
Open Remote Chrome
    ${options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Open Browser    https://example.com    remote_url=http://localhost:4444/wd/hub    options=${options}
    Title Should Be    Example Domain

The remote URL above is an example endpoint, not a Selenium Grid service supplied by SeleniumLibrary. Replace it with the endpoint for your own Grid or remote-browser provider. Remote endpoint paths and capability requirements vary by server version and deployment. Consult that server’s documentation and the SeleniumLibrary keyword documentation for the version you installed.

If your suite does not need custom browser options, the 6.1.3 release specifically concerns the case where options are omitted. Upgrade only if the version and surrounding dependencies fit your project; first reproduce the failure with a minimal test and confirm which package is creating the session.

Choosing the right release and upgrade path

  1. Identify the package in your environment. Check whether the failing code uses Selenium core directly or Robot Framework’s SeleniumLibrary.
  2. Record the installed versions. For Python projects, inspect the environment with python -m pip show robotframework-seleniumlibrary selenium robotframework. Also record browser, driver, and remote server versions.
  3. Match the issue to release notes. The remote startup fix described here belongs to SeleniumLibrary 6.1.3. It is not evidence of a Selenium core fix.
  4. Check compatibility for the target release. Use the current SeleniumLibrary release information for a Robot Framework suite, or Selenium’s own downloads and release history for core bindings.
  5. Upgrade in a branch or test environment. Run the smallest failing test first, then the broader suite. Keep the prior lockfile or package constraints available so you can roll back cleanly.

For the latest core release status, see the official Selenium downloads page and Selenium blog. For SeleniumLibrary releases and compatibility context, use its official project page and release history. The version-specific 6.1.3 release document is the source for the historical fix and compatibility statement.

Taking screenshots from browser tests

Browser tests often need screenshots for failure artifacts, visual review, or page documentation. With Selenium, capture from the browser session your test already controls; the exact API depends on your language binding. A screenshot taken from an automated browser reflects that browser’s state, including any consent overlay, popup, or chat widget that appeared.

If the goal is simply to capture a URL as an image or PDF, a screenshot API can avoid maintaining browser and driver setup for that separate task. ScreenshotNeo is a website screenshot API and MCP server by Yorker Media. Its one-request API accepts a URL and returns a PNG, JPEG, WebP, or PDF. Its parameter names also match those used by other screenshot APIs, which can make switching easier.

Or skip the browser setup

For a standalone URL capture, call ScreenshotNeo’s API. See the ScreenshotNeo API documentation for its request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
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 bytes = new Uint8Array(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));
  • Cookie banners are accepted and removed before capture, along with more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off.
  • Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Responses identify the page verdict and billing status in headers.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools 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; every feature is on every plan.

Create a free ScreenshotNeo account for 1,000 screenshots a month, with no card required.

Troubleshooting

Symptom Likely cause What to check
Remote session fails when options are omitted This matches the remote-browser failure addressed in SeleniumLibrary 6.1.3, or another session-creation issue. Confirm the installed SeleniumLibrary version, reproduce with a minimal test, and review the release notes. Check remote endpoint reachability and server logs.
Python says no matching distribution or cannot install the pin The Python version, package index, or environment may not meet the package’s requirements. Check the active interpreter with python --version and python -m pip --version. The 6.1.3 release document states Python 3.8+; use a compatible interpreter and package source.
Robot Framework cannot find SeleniumLibrary The package was installed into a different Python environment than the one running robot. Activate the intended virtual environment and run Robot Framework through that interpreter, for example python -m robot example.robot.
Browser session starts locally but not remotely Remote endpoint, browser capabilities, server version, or network access differs from local setup. Verify the endpoint URL, confirm the server accepts the requested browser, inspect Grid/provider logs, and check version compatibility. Do not assume a local driver configuration applies remotely.
Capability configuration no longer works The project may depend on deprecated desired_capabilities behavior or examples written for older Selenium versions. Use the options/capabilities mechanism documented for the installed Selenium and SeleniumLibrary versions. The 6.1.3 notes say deprecated desired_capabilities use was removed.
Upgrade fixes one test but breaks others Other changes in the selected release or dependency versions affect the suite. Compare the full release notes and compatibility information, lock dependencies, then run representative tests across local and remote configurations.

Performance, reliability, and cost considerations

  • Version pinning: pin SeleniumLibrary and related Python packages for repeatable CI runs. Upgrade deliberately after reviewing compatibility rather than allowing an unnoticed dependency change to alter browser startup.
  • Remote execution: remote browser reliability depends on the endpoint and its browser capacity as well as the client library. Capture endpoint errors and server-side logs to distinguish a library issue from an unavailable browser node.
  • Test runtime: reuse a browser session when the test design permits it, and keep setup and teardown explicit. For failures, capture the relevant browser state as an artifact rather than repeating expensive flows to diagnose the problem.
  • Screenshot API billing: ScreenshotNeo bills only clean shots; bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, with verdict and billing status provided in response headers. Its listed plans are Free (1,000 monthly), Starter ($5/3,000), Growth ($15/15,000), Pro ($39/60,000), Scale ($99/250,000), and Business ($249/1,000,000); yearly billing gives two months free. All features are available on every plan.

FAQ

Was Selenium 6.1 released?

The reviewed official sources do not establish a Selenium core 6.1 release. They identify Selenium 4.49.0 as stable on October 3, 2026, and separately document SeleniumLibrary 6.1.3.

Is SeleniumLibrary the same as Selenium?

No. SeleniumLibrary is a Robot Framework library that uses Selenium. Its package releases and compatibility matrix are separate from Selenium core’s language bindings.

Should I install SeleniumLibrary 6.1.3 today?

Only if you specifically need that historical version or are reproducing an environment that uses it. For a new or maintained project, check the current release and compatibility information first.

Does the SeleniumLibrary fix apply to every browser?

The release note describes remote-browser startup when options were omitted. It does not claim to resolve every browser, driver, Grid, or capability issue.

Where should I look for the next update?

Use Selenium’s official blog and downloads page for core releases, and SeleniumLibrary’s release history for Robot Framework library changes. Check the live pages because release status changes over time.