41
41
urllib3 .disable_warnings ()
42
42
DRIVER_DIR = os .path .dirname (os .path .realpath (drivers .__file__ ))
43
43
LOCAL_PATH = "/usr/local/bin/" # On Mac and Linux systems
44
- DEFAULT_CHROMEDRIVER_VERSION = "2.44"
44
+ DEFAULT_CHROMEDRIVER_VERSION = "2.44" # (Specify "latest" to get the latest)
45
45
DEFAULT_GECKODRIVER_VERSION = "v0.27.0"
46
- DEFAULT_EDGEDRIVER_VERSION = "85.0.564.44"
46
+ DEFAULT_EDGEDRIVER_VERSION = "85.0.564.44" # (Looks for LATEST_STABLE first)
47
47
DEFAULT_OPERADRIVER_VERSION = "v.84.0.4147.89"
48
48
49
49
@@ -242,19 +242,33 @@ def main(override=None):
242
242
"version to download!\n " )
243
243
elif name == "edgedriver" or name == "msedgedriver" :
244
244
name = "edgedriver"
245
- use_version = DEFAULT_EDGEDRIVER_VERSION
245
+ last = (
246
+ "https://msedgewebdriverstorage.blob.core.windows.net"
247
+ "/edgewebdriver/LATEST_STABLE" )
248
+ get_latest = False
249
+ if num_args == 3 :
250
+ get_latest = True
251
+ if num_args == 4 and "-p" in sys .argv [3 ].lower ():
252
+ get_latest = True
246
253
if num_args == 4 or num_args == 5 :
247
254
if "-p" not in sys .argv [3 ].lower ():
248
255
use_version = sys .argv [3 ]
249
256
if use_version .lower () == "latest" :
250
257
use_version = DEFAULT_EDGEDRIVER_VERSION
258
+ get_latest = True
251
259
else :
252
260
copy_to_path = True
253
261
if num_args == 5 :
254
262
if "-p" in sys .argv [4 ].lower ():
255
263
copy_to_path = True
256
264
else :
257
265
invalid_run_command ()
266
+ if get_latest :
267
+ url_request = requests .get (last )
268
+ if url_request .ok :
269
+ use_version = url_request .text .split ('\r ' )[0 ].split ('\n ' )[0 ]
270
+ else :
271
+ use_version = DEFAULT_EDGEDRIVER_VERSION
258
272
if "win64" in sys_plat or "x64" in sys_plat :
259
273
file_name = "edgedriver_win64.zip"
260
274
elif "win32" in sys_plat or "x86" in sys_plat :
@@ -266,6 +280,11 @@ def main(override=None):
266
280
"only for Windows or Mac operating systems!" )
267
281
download_url = ("https://msedgedriver.azureedge.net/"
268
282
"%s/%s" % (use_version , file_name ))
283
+ if not get_latest and not use_version == DEFAULT_EDGEDRIVER_VERSION :
284
+ url_request = requests .get (download_url )
285
+ if not url_request .ok :
286
+ raise Exception (
287
+ "Could not find version [%s] of EdgeDriver!" % use_version )
269
288
msg = c2 + "edgedriver version for download" + cr
270
289
p_version = c3 + use_version + cr
271
290
print ("\n *** %s = %s" % (msg , p_version ))
0 commit comments