Change8

selenium-4.33.0

Breaking Changes
📦 seleniumView on GitHub →
4 breaking12 features🐛 7 fixes4 deprecations🔧 14 symbols

Summary

Selenium 4.33.0 introduces new BiDi modules, UI enhancements, and several deprecations removals while fixing type‑checking and download errors. Users need to adjust Java code for removed APIs and handle the new `message` field in Python execute exceptions.

⚠️ Breaking Changes

  • Removed RemoteStatus class from the Java API; code referencing it must be updated to use alternative status handling.
  • Removed deprecated setScriptTimeout and pageLoadTimeout methods from the Java WebDriver; replace with appropriate timeout configuration.
  • Removed deprecated items in Require.java; update imports and usage accordingly.
  • Python execute method now includes a `message` attribute in its exception; catch and handle the new attribute.

Migration Steps

  1. Update Java code to remove references to RemoteStatus, setScriptTimeout, pageLoadTimeout, and any removed Require.java items.
  2. In Python, adjust exception handling for the execute method to use the new `message` attribute.
  3. Review and update any code that relied on the previously missing `id` property now present in ShadowRoot.
  4. Refresh Python dependencies to the latest versions as specified in the updated requirements.
  5. Run tests with the new clean_options fixture if custom fixtures are used.

✨ New Features

  • Added BiDi storage module for Python.
  • Added BiDi webExtension module for Python.
  • Introduced LogLevel constant for BiDi in Python.
  • Firefox now selects the BiDi port automatically.
  • Grid UI now displays session capability fields as additional columns.
  • Grid UI Overview provides live preview per Node.
  • Added clean_options fixture for Python tests.
  • Added missing `id` property to the ShadowRoot class in Python.
  • Improved error messages for local webdriver downloads in Python.
  • Added missing modules to the Python API documentation.
  • Enabled tests for the storage module for Edge in Java BiDi.
  • Workflow added for Grid UI component tests.

🐛 Bug Fixes

  • Excluded devtools directory from type checking in Python.
  • Fixed mypy errors.
  • Added missing headers assignment in Network._on_request().
  • Corrected type annotations for default-None parameters in Python.
  • Improved handling of .txt file check in remote download test.
  • Replaced deprecated WMIC commands with WinAPI in the Rust driver.
  • Better error handling for downloads on local webdrivers in Python.

🔧 Affected Symbols

RemoteStatussetScriptTimeoutpageLoadTimeoutRequireexecuteNetwork._on_requestLogLevelShadowRoot.idselenium.webdriver.bidi.storageselenium.webdriver.bidi.web_extensionGrid.UI.sessionsGrid.UI.overviewclean_optionsrust.WMIC

⚡ Deprecations

  • RemoteStatus (Java) – previously deprecated.
  • setScriptTimeout (Java) – previously deprecated.
  • pageLoadTimeout (Java) – previously deprecated.
  • Deprecated items in Require.java (Java).