Skip to content

Commit 38ca04f

Browse files
committed
Add a shortcut to install one version below the latest driver
1 parent 69cb278 commit 38ca04f

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

seleniumbase/console_scripts/ReadMe.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ SeleniumBase console scripts help you get things done more easily, such as insta
1919
(Drivers: ``chromedriver``, ``geckodriver``, ``edgedriver``,
2020
``iedriver``, ``operadriver``)
2121
(Versions: ``latest`` or a specific driver version.
22+
For chromedriver, you can also specify the major
23+
version int, or ``latest-1`` for latest minus 1.
2224
If none specified, installs the default version.)
2325

2426
* Examples:

seleniumbase/console_scripts/run.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,10 @@ def show_install_usage():
123123
print(" sbase install chromedriver 91")
124124
print(" sbase install chromedriver 91.0.4472.101")
125125
print(" sbase install chromedriver latest")
126+
print(" sbase install chromedriver latest-1")
126127
print(" sbase install chromedriver -p")
127128
print(" sbase install chromedriver latest -p")
128-
print(" sbase install edgedriver 91.0.864.67")
129+
print(" sbase install edgedriver 91.0.864.71")
129130
print(" Output:")
130131
print(" Installs the chosen webdriver to seleniumbase/drivers/")
131132
print(" (chromedriver is required for Chrome automation)")

seleniumbase/console_scripts/sb_install.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
sbase install chromedriver 91.0.4472.101
1717
sbase install chromedriver 91
1818
sbase install chromedriver latest
19+
sbase install chromedriver latest-1 # (Latest minus one)
1920
sbase install chromedriver -p
2021
sbase install chromedriver latest -p
2122
sbase install edgedriver 91.0.864.67
@@ -44,7 +45,7 @@
4445
LOCAL_PATH = "/usr/local/bin/" # On Mac and Linux systems
4546
DEFAULT_CHROMEDRIVER_VERSION = "2.44" # (Specify "latest" to get the latest)
4647
DEFAULT_GECKODRIVER_VERSION = "v0.29.1"
47-
DEFAULT_EDGEDRIVER_VERSION = "89.0.774.54" # (Looks for LATEST_STABLE first)
48+
DEFAULT_EDGEDRIVER_VERSION = "91.0.864.71" # (Looks for LATEST_STABLE first)
4849
DEFAULT_OPERADRIVER_VERSION = "v.88.0.4324.104"
4950

5051

@@ -62,8 +63,8 @@ def invalid_run_command():
6263
exp += " Example:\n"
6364
exp += " seleniumbase install chromedriver\n"
6465
exp += " seleniumbase install geckodriver\n"
65-
exp += " seleniumbase install chromedriver 89\n"
66-
exp += " seleniumbase install chromedriver 89.0.4389.23\n"
66+
exp += " seleniumbase install chromedriver 91\n"
67+
exp += " seleniumbase install chromedriver 91.0.4472.101\n"
6768
exp += " seleniumbase install chromedriver latest\n"
6869
exp += " seleniumbase install chromedriver -p\n"
6970
exp += " seleniumbase install chromedriver latest -p\n"
@@ -153,12 +154,15 @@ def main(override=None):
153154
use_version = DEFAULT_CHROMEDRIVER_VERSION
154155
get_latest = False
155156
get_v_latest = False
157+
get_latest_minus_one = False
156158
if num_args == 4 or num_args == 5:
157159
if "-p" not in sys.argv[3].lower():
158160
use_version = sys.argv[3]
159161
uv_low = use_version.lower()
160162
if uv_low == "latest":
161163
get_latest = True
164+
elif uv_low == "latest-1":
165+
get_latest_minus_one = True
162166
elif len(uv_low) < 4 and uv_low.isdigit() and int(uv_low) > 69:
163167
get_v_latest = True
164168
else:
@@ -181,12 +185,15 @@ def main(override=None):
181185
"Cannot determine which version of chromedriver to download!"
182186
)
183187
found_chromedriver = False
184-
if get_latest:
188+
if get_latest or get_latest_minus_one:
185189
url_request = requests_get(last)
186190
if url_request.ok:
187191
found_chromedriver = True
188192
use_version = url_request.text
189-
elif get_v_latest:
193+
if get_latest_minus_one:
194+
get_v_latest = True
195+
use_version = str(int(use_version.split('.')[0]) - 1)
196+
if get_v_latest:
190197
url_req = requests_get(last)
191198
if url_req.ok:
192199
latest_version = url_req.text

0 commit comments

Comments
 (0)