55 seleniumbase install {chromedriver|geckodriver|edgedriver|
66 iedriver|operadriver} [OPTIONS]
77Options:
8- VERSION - Specify the version (For Chromedriver ONLY)
8+ VERSION - Specify version (Chromedriver / Edgedriver ONLY)
99 (Default Chromedriver version = 2.44)
1010 Use "latest" to get the latest Chromedriver.
1111Example:
3434urllib3 .disable_warnings ()
3535DRIVER_DIR = os .path .dirname (os .path .realpath (drivers .__file__ ))
3636DEFAULT_CHROMEDRIVER_VERSION = "2.44"
37+ DEFAULT_EDGEDRIVER_VERSION = "78.0.268.0"
3738
3839
3940def invalid_run_command ():
@@ -43,7 +44,7 @@ def invalid_run_command():
4344 exp += " (Drivers: chromedriver, geckodriver, edgedriver,\n "
4445 exp += " iedriver, operadriver)\n "
4546 exp += " Options:\n "
46- exp += " VERSION - Specify the version (For Chromedriver ONLY)."
47+ exp += " VERSION - Specify version (Chromedriver / EdgeDr ONLY)."
4748 exp += " (Default Chromedriver version = 2.44)"
4849 exp += ' Use "latest" to get the latest Chromedriver.'
4950 exp += " Example:\n "
@@ -86,6 +87,9 @@ def main():
8687 expected_contents = None
8788 platform_code = None
8889 inner_folder = None
90+ use_version = ""
91+ new_file = ""
92+ f_name = ""
8993
9094 if name == "chromedriver" :
9195 use_version = DEFAULT_CHROMEDRIVER_VERSION
@@ -140,17 +144,26 @@ def main():
140144 "%s/%s" % (use_version , file_name ))
141145 elif name == "edgedriver" or name == "microsoftwebdriver" :
142146 name = "edgedriver"
143- version_code = "F/8/A/F8AF50AB-3C3A-4BC4-8773-DC27B32988DD"
144- if "win32" in sys_plat or "win64" in sys_plat or "x64" in sys_plat :
145- file_name = "MicrosoftWebDriver.exe"
147+ use_version = DEFAULT_EDGEDRIVER_VERSION
148+ if num_args == 4 :
149+ use_version = sys .argv [3 ]
150+ if use_version .lower () == "latest" :
151+ use_version = DEFAULT_EDGEDRIVER_VERSION
152+ if "win64" in sys_plat or "x64" in sys_plat :
153+ file_name = "edgedriver_win64.zip"
154+ elif "win32" in sys_plat or "x86" in sys_plat :
155+ file_name = "edgedriver_win32.zip"
156+ elif "darwin" in sys_plat :
157+ file_name = "edgedriver_mac64.zip"
146158 else :
147159 raise Exception ("Sorry! Microsoft WebDriver / EdgeDriver is "
148- "only for Windows-based operating systems!" )
149- download_url = ("https://download.microsoft.com/download /"
150- "%s/%s" % (version_code , file_name ))
160+ "only for Windows or Mac operating systems!" )
161+ download_url = ("https://msedgedriver.azureedge.net /"
162+ "%s/%s" % (use_version , file_name ))
151163 elif name == "iedriver" :
152164 major_version = "3.14"
153165 full_version = "3.14.0"
166+ use_version = full_version
154167 if "win32" in sys_plat :
155168 file_name = "IEDriverServer_Win32_%s.zip" % full_version
156169 elif "win64" in sys_plat or "x64" in sys_plat :
@@ -234,10 +247,16 @@ def main():
234247 print ('Unzip Complete!\n ' )
235248 for f_name in contents :
236249 new_file = downloads_folder + '/' + str (f_name )
237- print ("%s saved! \n " % new_file )
238- print ("Making %s executable ..." % new_file )
250+ print ("The file [%s] was saved to: \n %s \n " % ( f_name , new_file ) )
251+ print ("Making [%s] executable ..." % f_name )
239252 make_executable (new_file )
240- print ("%s is now ready for use!" % new_file )
253+ print ("[%s] is now ready for use!\n " % f_name )
254+ print ('(If running on a Selenium Grid, copy [%s] to your '
255+ 'System PATH.\n '
256+ ' E.g. to the "/usr/local/bin/" folder on Linux '
257+ 'systems.)\n ' % name )
258+ print ("Location of [%s %s]:\n %s" % (
259+ f_name , use_version , new_file ))
241260 print ("" )
242261 elif name == "operadriver" :
243262 if len (contents ) != 3 :
@@ -266,10 +285,13 @@ def main():
266285 inner_driver = downloads_folder + '/' + inner_folder + driver_file
267286 inner_sha = downloads_folder + '/' + inner_folder + "sha512_sum"
268287 shutil .copyfile (inner_driver , driver_path )
269- print ("%s saved!\n " % driver_path )
270- print ("Making %s executable ..." % driver_path )
288+ print ("The file [%s] was saved to:\n %s\n " % (
289+ driver_file , driver_path ))
290+ print ("Making [%s] executable ..." % driver_file )
271291 make_executable (driver_path )
272- print ("%s is now ready for use!" % driver_path )
292+ print ("[%s] is now ready for use!\n " % driver_file )
293+ print ("Location of [%s %s]:\n %s" % (
294+ driver_file , use_version , driver_path ))
273295 # clean up extra files
274296 if os .path .exists (inner_driver ):
275297 os .remove (inner_driver )
@@ -301,10 +323,16 @@ def main():
301323 print ('Unzip Complete!\n ' )
302324 for f_name in contents :
303325 new_file = downloads_folder + '/' + str (f_name )
304- print ("%s saved! \n " % new_file )
305- print ("Making %s executable ..." % new_file )
326+ print ("The file [%s] was saved to: \n %s \n " % ( f_name , new_file ) )
327+ print ("Making [%s] executable ..." % f_name )
306328 make_executable (new_file )
307- print ("%s is now ready for use!" % new_file )
329+ print ("[%s] is now ready for use!\n " % f_name )
330+ print ('(If running on a Selenium Grid, copy [%s] to your '
331+ 'System PATH.\n '
332+ ' E.g. to the "/usr/local/bin/" folder on Linux '
333+ 'systems.)\n ' % name )
334+ print ("Location of [%s %s]:\n %s" % (
335+ f_name , use_version , new_file ))
308336 print ("" )
309337 elif len (contents ) == 0 :
310338 raise Exception ("Tar file %s is empty!" % tar_file_path )
@@ -313,9 +341,10 @@ def main():
313341 else :
314342 # Not a .zip file or a .tar.gz file. Just a direct download.
315343 if "Driver" in file_name or "driver" in file_name :
316- print ("Making %s executable ..." % file_path )
344+ print ("Making [%s] executable ..." % file_name )
317345 make_executable (file_path )
318- print ("%s is now ready for use!\n " % file_path )
346+ print ("[%s] is now ready for use!\n " % file_name )
347+ print ("Location of [%s]:\n %s\n " % (file_name , file_path ))
319348
320349
321350if __name__ == "__main__" :
0 commit comments