diff --git a/README.md b/README.md
index 23b8b36924c..99a6b936941 100755
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[
](https://github.com/seleniumbase/SeleniumBase/blob/master/README.md)
+[
](https://github.com/seleniumbase/SeleniumBase/blob/master/README.md)
[
](https://github.com/seleniumbase/SeleniumBase/releases) [
](https://dev.azure.com/seleniumbase/seleniumbase/_build/latest?definitionId=1&branchName=master) [
](https://travis-ci.org/seleniumbase/SeleniumBase) [
](https://gitter.im/seleniumbase/SeleniumBase) [
](https://github.com/seleniumbase/SeleniumBase/blob/master/LICENSE) [
](https://github.com/seleniumbase/SeleniumBase/stargazers)
diff --git a/seleniumbase/console_scripts/run.py b/seleniumbase/console_scripts/run.py
index fbc94c1170a..3e4d0cde3b8 100644
--- a/seleniumbase/console_scripts/run.py
+++ b/seleniumbase/console_scripts/run.py
@@ -59,9 +59,9 @@ def show_install_usage():
print(" (Drivers: chromedriver, geckodriver, edgedriver")
print(" iedriver, operadriver)")
print(" Options:")
- print(" VERSION - Specify version (Chromedriver / EdgeDr ONLY).")
- print(" (Default Chromedriver version = 2.44)")
- print(' Use "latest" to get the latest Chromedriver.')
+ print(" VERSION - Specify version")
+ print(" (Default Chromedriver version = 2.44)")
+ print(' Use "latest" for the latest version.')
print(" Example:")
print(" seleniumbase install chromedriver")
print(" seleniumbase install chromedriver 76.0.3809.126")
diff --git a/seleniumbase/console_scripts/sb_install.py b/seleniumbase/console_scripts/sb_install.py
index 30b7d45d3ac..cb255273eee 100755
--- a/seleniumbase/console_scripts/sb_install.py
+++ b/seleniumbase/console_scripts/sb_install.py
@@ -5,9 +5,9 @@
seleniumbase install {chromedriver|geckodriver|edgedriver|
iedriver|operadriver} [OPTIONS]
Options:
- VERSION - Specify version (Chromedriver / Edgedriver ONLY)
- (Default Chromedriver version = 2.44)
- Use "latest" to get the latest Chromedriver.
+ VERSION - Specify version
+ (Default Chromedriver version = 2.44)
+ Use "latest" for the latest version.
Example:
seleniumbase install chromedriver
seleniumbase install chromedriver 76.0.3809.126
@@ -34,7 +34,7 @@
urllib3.disable_warnings()
DRIVER_DIR = os.path.dirname(os.path.realpath(drivers.__file__))
DEFAULT_CHROMEDRIVER_VERSION = "2.44"
-DEFAULT_GECKODRIVER_VERSION = "v0.24.0"
+DEFAULT_GECKODRIVER_VERSION = "v0.25.0"
DEFAULT_EDGEDRIVER_VERSION = "77.0.235.20"
DEFAULT_OPERADRIVER_VERSION = "v.2.40"
@@ -127,6 +127,18 @@ def main():
raise Exception("Could not find Chromedriver to download!\n")
elif name == "geckodriver" or name == "firefoxdriver":
use_version = DEFAULT_GECKODRIVER_VERSION
+ found_geckodriver = False
+ if num_args == 4:
+ use_version = sys.argv[3]
+ if use_version.lower() == "latest":
+ last = ("https://api.github.com/repos/"
+ "mozilla/geckodriver/releases/latest")
+ url_request = requests.get(last)
+ if url_request.ok:
+ found_geckodriver = True
+ use_version = url_request.json()["tag_name"]
+ else:
+ use_version = DEFAULT_GECKODRIVER_VERSION
if "darwin" in sys_plat:
file_name = "geckodriver-%s-macos.tar.gz" % use_version
elif "linux" in sys_plat:
@@ -140,10 +152,17 @@ def main():
else:
raise Exception("Cannot determine which version of Geckodriver "
"(Firefox Driver) to download!")
-
download_url = ("https://github.com/mozilla/geckodriver/"
"releases/download/"
"%s/%s" % (use_version, file_name))
+ url_request = None
+ if not found_geckodriver:
+ url_request = requests.get(download_url)
+ if found_geckodriver or url_request.ok:
+ print("\nGeckodriver version for download = %s" % use_version)
+ else:
+ raise Exception("\nCould not find the specified Geckodriver "
+ "version to download!\n")
elif name == "edgedriver" or name == "msedgedriver":
name = "edgedriver"
use_version = DEFAULT_EDGEDRIVER_VERSION
diff --git a/setup.py b/setup.py
index 73c8012a6cd..2fba87406a0 100755
--- a/setup.py
+++ b/setup.py
@@ -45,7 +45,7 @@
setup(
name='seleniumbase',
- version='1.31.7',
+ version='1.31.8',
description='Fast, Easy, and Reliable Browser Automation & Testing.',
long_description=long_description,
long_description_content_type='text/markdown',