diff --git a/src/SeleniumLibrary/keywords/webdrivertools.py b/src/SeleniumLibrary/keywords/webdrivertools.py
index b7a79aee..bc345c17 100644
--- a/src/SeleniumLibrary/keywords/webdrivertools.py
+++ b/src/SeleniumLibrary/keywords/webdrivertools.py
@@ -20,7 +20,7 @@ import warnings
 from robot.utils import ConnectionCache
 from selenium import webdriver
 
-from SeleniumLibrary.utils import is_falsy, is_truthy
+from SeleniumLibrary.utils import is_falsy, is_truthy, is_noney
 
 
 class WebDriverCreator(object):
@@ -240,7 +240,7 @@ class WebDriverCache(ConnectionCache):
         return None if driver in self._closed else index
 
     def _get_index(self, alias_or_index):
-        alias_or_index = None if alias_or_index == 'None' else alias_or_index
+        alias_or_index = None if is_noney(alias_or_index) else alias_or_index
         try:
             return self.resolve_alias_or_index(alias_or_index)
         except AttributeError:

It should be possible to configure Open Browser keyword to not always open a new browser.
Many times, when opening browser, there is need to open only one browser. But because depending how test are executed in Robot Framework, it is hard to find a single correct place for the `Open Browser` keyword. Most of the time, it is safer to run the `Open Browser` keyword from multiple levels in the suite structure, which will lead to many open browsers and loss in test execution time. There are also numerous other workarounds available. 

Instead of the workarounds, it would be good to implement support for the `Open Browser` keyword  to open browser only once. If the the `Open Browser` keyword is configured to open browser only one time, it would act in same way as the `Go To` keyword. 

The `alias` argument could act as a marker, should the existing browser be used or new one opened. 

Currently if test does this: 
```
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome | alias |
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome | alias |
```
It will open two browsers with same alias. 

But after the change, this:
```
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome | alias |
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome | alias |
```
will open one browser. With the first `Open Browser` keyword run, it will open the browser normally and navigate to the `https://github.com/robotframework/SeleniumLibrary`. In the second first `Open Browser` keyword run, it navigate (again) to the `https://github.com/robotframework/SeleniumLibrary`. 

Also this:
```
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome | alias |
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Firefox | alias |
```
will open only one browser.

If different alias is used: 
```
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome | alias1 |
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome | alias2 |
```
it will open two browsers. 

Also if alias is not defined
```
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome |
| Open Browser | https://github.com/robotframework/SeleniumLibrary | Chrome |
```
it will open two browsers. 

There is small change that someone is misusing the `alias` argument and therefore this may cause problems for users. But because the problem should be easy to fix and the probability for that is quite low, implementing this is OK. 

This idea is also presented in #701
diff --git a/utest/test/keywords/test_webdrivercache.py b/utest/test/keywords/test_webdrivercache.py
index 9b4a25d4..8d97ae39 100644
--- a/utest/test/keywords/test_webdrivercache.py
+++ b/utest/test/keywords/test_webdrivercache.py
@@ -125,6 +125,9 @@ class WebDriverCacheTests(unittest.TestCase):
         index = cache.get_index('None')
         self.assertEqual(index, None)
 
+        index = cache.get_index('NoNe')
+        self.assertEqual(index, None)
+
     def test_resolve_alias_or_index_error(self):
         cache = WebDriverCache()
 

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
3.9
requirements.txt requirements-dev.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
allpairspy==2.5.1
approval_utilities==14.3.1
approvaltests==14.3.1
attrs==25.3.0
beautifulsoup4==4.13.3
certifi==2025.1.31
charset-normalizer==3.4.1
empty-files==0.0.9
exceptiongroup==1.2.2
h11==0.14.0
idna==3.10
iniconfig==2.1.0
mock==5.2.0
mockito==1.5.4
mrjob==0.7.4
outcome==1.3.0.post0
packaging==24.2
pluggy==1.5.0
pyperclip==1.9.0
PySocks==1.7.1
pytest==8.3.5
PyYAML==6.0.2
requests==2.32.3
robotframework==7.2.2
-e git+https://github.com/robotframework/SeleniumLibrary.git@57982fa1f4d8bffcb8be2a90382c2dd6bcbb144d#egg=robotframework_seleniumlibrary
robotstatuschecker==4.1.1
selenium==4.30.0
sniffio==1.3.1
sortedcontainers==2.4.0
soupsieve==2.6
testfixtures==8.3.0
tomli==2.2.1
trio==0.29.0
trio-websocket==0.12.2
typing_extensions==4.13.0
urllib3==2.3.0
websocket-client==1.8.0
wsproto==1.2.0

name: SeleniumLibrary
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - allpairspy==2.5.1
      - approval-utilities==14.3.1
      - approvaltests==14.3.1
      - attrs==25.3.0
      - beautifulsoup4==4.13.3
      - certifi==2025.1.31
      - charset-normalizer==3.4.1
      - empty-files==0.0.9
      - exceptiongroup==1.2.2
      - h11==0.14.0
      - idna==3.10
      - iniconfig==2.1.0
      - mock==5.2.0
      - mockito==1.5.4
      - mrjob==0.7.4
      - outcome==1.3.0.post0
      - packaging==24.2
      - pluggy==1.5.0
      - pyperclip==1.9.0
      - pysocks==1.7.1
      - pytest==8.3.5
      - pyyaml==6.0.2
      - requests==2.32.3
      - robotframework==7.2.2
      - robotstatuschecker==4.1.1
      - selenium==4.30.0
      - sniffio==1.3.1
      - sortedcontainers==2.4.0
      - soupsieve==2.6
      - testfixtures==8.3.0
      - tomli==2.2.1
      - trio==0.29.0
      - trio-websocket==0.12.2
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - websocket-client==1.8.0
      - wsproto==1.2.0
prefix: /opt/conda/envs/SeleniumLibrary

utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_resolve_alias_or_index_with_none
utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_browsers_property utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_close utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_close_and_same_alias utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_close_only_called_once utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_get_open_browsers utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_no_current_message utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_resolve_alias_or_index utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_resolve_alias_or_index_error utest/test/keywords/test_webdrivercache.py::WebDriverCacheTests::test_same_alias_new_browser
src/SeleniumLibrary/keywords/webdrivertools.py
src/SeleniumLibrary/keywords/webdrivertools.py