From 50a953a80f934d9884ae589a7fa4bdf90ab94687 Mon Sep 17 00:00:00 2001 From: Ed Manlove Date: Fri, 24 Apr 2026 22:33:10 -0500 Subject: [PATCH 1/2] Fixed broken links within Open Browser keyword --- src/SeleniumLibrary/keywords/browsermanagement.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SeleniumLibrary/keywords/browsermanagement.py b/src/SeleniumLibrary/keywords/browsermanagement.py index 042d12d50..e308ad3d7 100644 --- a/src/SeleniumLibrary/keywords/browsermanagement.py +++ b/src/SeleniumLibrary/keywords/browsermanagement.py @@ -133,7 +133,7 @@ def open_browser( Optional ``ff_profile_dir`` is the path to the Firefox profile directory if you wish to overwrite the default profile Selenium uses. The ``ff_profile_dir`` can also be an instance of the - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.html|selenium.webdriver.FirefoxProfile] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_firefox/selenium.webdriver.firefox.firefox_profile.html#module-selenium.webdriver.firefox.firefox_profile|selenium.webdriver.firefox.firefox_profile] . As a third option, it is possible to use `FirefoxProfile` methods and attributes to define the profile using methods and attributes in the same way as with ``options`` argument. Example: It is possible @@ -149,9 +149,9 @@ def open_browser( Optional ``options`` argument allows defining browser specific Selenium options. Example for Chrome, the ``options`` argument allows defining the following - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_chrome/selenium.webdriver.chrome.options.html#selenium.webdriver.chrome.options.Options|methods and attributes] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_chrome/selenium.webdriver.chrome.options.html#selenium.webdriver.chrome.options.Options|methods and attributes] and for Firefox these - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_firefox/selenium.webdriver.firefox.options.html?highlight=firefox#selenium.webdriver.firefox.options.Options|methods and attributes] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_firefox/selenium.webdriver.firefox.options.html#selenium.webdriver.firefox.options.Options|methods and attributes] are available. Selenium options are also supported, when ``remote_url`` argument is used. @@ -163,7 +163,7 @@ def open_browser( methods or attributes. Example when using - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_chrome/selenium.webdriver.chrome.options.html#selenium.webdriver.chrome.options.Options|Chrome options] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_chrome/selenium.webdriver.chrome.options.html#selenium.webdriver.chrome.options.Options|Chrome options] method: | `Open Browser` | http://example.com | Chrome | options=add_argument("--disable-popup-blocking"); add_argument("--ignore-certificate-errors") | # Sting format. | | `Open Browser` | None | Chrome | options=binary_location="/path/to/binary";add_argument("remote-debugging-port=port") | # Start Chomium-based application. | From 97dc1033fe5bfdd8da1804c18c6bd527b444063a Mon Sep 17 00:00:00 2001 From: Ed Manlove Date: Fri, 24 Apr 2026 23:31:20 -0500 Subject: [PATCH 2/2] Replaced other reference links to Selenium Python API --- src/SeleniumLibrary/__init__.py | 4 ++-- src/SeleniumLibrary/keywords/browsermanagement.py | 2 +- src/SeleniumLibrary/keywords/element.py | 10 +++++----- src/SeleniumLibrary/keywords/formelement.py | 2 +- src/SeleniumLibrary/keywords/javascript.py | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/SeleniumLibrary/__init__.py b/src/SeleniumLibrary/__init__.py index f371f3b1d..3440658b2 100644 --- a/src/SeleniumLibrary/__init__.py +++ b/src/SeleniumLibrary/__init__.py @@ -523,7 +523,7 @@ class SeleniumLibrary(DynamicCore): = EventFiringWebDriver = The SeleniumLibrary offers support for - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.event_firing_webdriver.html#module-selenium.webdriver.support.event_firing_webdriver|EventFiringWebDriver]. + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_support/selenium.webdriver.support.event_firing_webdriver.html#module-selenium.webdriver.support.event_firing_webdriver|EventFiringWebDriver]. See the Selenium and SeleniumLibrary [https://github.com/robotframework/SeleniumLibrary/blob/master/docs/extending/extending.rst#EventFiringWebDriver|EventFiringWebDriver support] documentation for further details. @@ -620,7 +620,7 @@ def __init__( Allows extending the SeleniumLibrary with external Python classes. - ``event_firing_webdriver``: Class for wrapping Selenium with - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.event_firing_webdriver.html#module-selenium.webdriver.support.event_firing_webdriver|EventFiringWebDriver] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_support/selenium.webdriver.support.event_firing_webdriver.html#module-selenium.webdriver.support.event_firing_webdriver|EventFiringWebDriver] - ``page_load_timeout``: Default value to wait for page load to complete until a timeout exception is raised. - ``action_chain_delay``: diff --git a/src/SeleniumLibrary/keywords/browsermanagement.py b/src/SeleniumLibrary/keywords/browsermanagement.py index e308ad3d7..626db5376 100644 --- a/src/SeleniumLibrary/keywords/browsermanagement.py +++ b/src/SeleniumLibrary/keywords/browsermanagement.py @@ -289,7 +289,7 @@ def create_webdriver( The initialized WebDriver can be configured either with a Python dictionary ``kwargs`` or by using keyword arguments ``**init_kwargs``. These arguments are passed directly to WebDriver without any - processing. See [https://seleniumhq.github.io/selenium/docs/api/py/api.html| + processing. See [https://www.selenium.dev/selenium/docs/api/py/api.html| Selenium API documentation] for details about the supported arguments. Examples: diff --git a/src/SeleniumLibrary/keywords/element.py b/src/SeleniumLibrary/keywords/element.py index c61076286..88a57e282 100644 --- a/src/SeleniumLibrary/keywords/element.py +++ b/src/SeleniumLibrary/keywords/element.py @@ -664,12 +664,12 @@ def click_element( syntax. The ``modifier`` argument can be used to pass - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html#selenium.webdriver.common.keys.Keys|Selenium Keys] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_common/selenium.webdriver.common.keys.html#module-selenium.webdriver.common.keys|Selenium Keys] when clicking the element. The `+` can be used as a separator for different Selenium Keys. The `CTRL` is internally translated to the `CONTROL` key. The ``modifier`` is space and case insensitive, example "alt" and " aLt " are supported formats to - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html#selenium.webdriver.common.keys.Keys.ALT|ALT key] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_common/selenium.webdriver.common.keys.html#selenium.webdriver.common.keys.Keys.ALT|ALT key] . If ``modifier`` does not match to Selenium Keys, keyword fails. If ``action_chain`` argument is true, see `Boolean arguments` for more @@ -943,7 +943,7 @@ def press_keys(self, locator: Locator | None = None, *keys: str): ``keys`` arguments can contain one or many strings, but it can not be empty. ``keys`` can also be a combination of - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html|Selenium Keys] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_common/selenium.webdriver.common.keys.html|Selenium Keys] and strings or a single Selenium Key. If Selenium Key is combined with strings, Selenium key and strings must be separated by the `+` character, like in `CONTROL+c`. Selenium Keys @@ -961,9 +961,9 @@ def press_keys(self, locator: Locator | None = None, *keys: str): `+` character, example `E+N+D`. `CTRL` is alias for - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html#selenium.webdriver.common.keys.Keys.CONTROL|Selenium CONTROL] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_common/selenium.webdriver.common.keys.html#selenium.webdriver.common.keys.Keys.CONTROL|Selenium CONTROL] and ESC is alias for - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html#selenium.webdriver.common.keys.Keys.ESCAPE|Selenium ESCAPE] + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_common/selenium.webdriver.common.keys.html#selenium.webdriver.common.keys.Keys.ESCAPE|Selenium ESCAPE] New in SeleniumLibrary 3.3 diff --git a/src/SeleniumLibrary/keywords/formelement.py b/src/SeleniumLibrary/keywords/formelement.py index 43816e04f..f64ce4bf2 100644 --- a/src/SeleniumLibrary/keywords/formelement.py +++ b/src/SeleniumLibrary/keywords/formelement.py @@ -220,7 +220,7 @@ def choose_file(self, locator: Locator, file_path: str): The keyword does not check ``file_path`` is the file or folder available on the machine where tests are executed. If the ``file_path`` points at a file and when using Selenium Grid, Selenium will - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.command.html?highlight=upload#selenium.webdriver.remote.command.Command.UPLOAD_FILE|magically], + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_remote/selenium.webdriver.remote.command.html#selenium.webdriver.remote.command.Command.UPLOAD_FILE|magically], transfer the file from the machine where the tests are executed to the Selenium Grid node where the browser is running. Then Selenium will send the file path, from the nodes file diff --git a/src/SeleniumLibrary/keywords/javascript.py b/src/SeleniumLibrary/keywords/javascript.py index 9c2bb1c90..290ad97df 100644 --- a/src/SeleniumLibrary/keywords/javascript.py +++ b/src/SeleniumLibrary/keywords/javascript.py @@ -52,7 +52,7 @@ def execute_javascript(self, *code: Any) -> Any: Return values are converted to the appropriate Python types. Starting from SeleniumLibrary 3.2 it is possible to provide JavaScript - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html#selenium.webdriver.remote.webdriver.WebDriver.execute_script| + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_remote/selenium.webdriver.remote.webdriver.html#selenium.webdriver.remote.webdriver.WebDriver.execute_script| arguments] as part of ``code`` argument. The JavaScript code and arguments must be separated with `JAVASCRIPT` and `ARGUMENTS` markers and must be used exactly with this format. If the Javascript code is @@ -85,7 +85,7 @@ def execute_async_javascript(self, *code: Any) -> Any: fail. See the `Timeout` section for more information. Starting from SeleniumLibrary 3.2 it is possible to provide JavaScript - [https://seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html#selenium.webdriver.remote.webdriver.WebDriver.execute_async_script| + [https://www.selenium.dev/selenium/docs/api/py/selenium_webdriver_remote/selenium.webdriver.remote.webdriver.html#selenium.webdriver.remote.webdriver.WebDriver.execute_async_script| arguments] as part of ``code`` argument. See `Execute Javascript` for more details.