5
5
seleniumbase install {chromedriver|geckodriver|edgedriver|
6
6
iedriver|operadriver} [OPTIONS]
7
7
Options:
8
- VERSION - Specify the version (For Chromedriver ONLY)
8
+ VERSION - Specify version (Chromedriver / Edgedriver ONLY)
9
9
(Default Chromedriver version = 2.44)
10
10
Use "latest" to get the latest Chromedriver.
11
11
Example:
34
34
urllib3 .disable_warnings ()
35
35
DRIVER_DIR = os .path .dirname (os .path .realpath (drivers .__file__ ))
36
36
DEFAULT_CHROMEDRIVER_VERSION = "2.44"
37
+ DEFAULT_EDGEDRIVER_VERSION = "78.0.268.0"
37
38
38
39
39
40
def invalid_run_command ():
@@ -43,7 +44,7 @@ def invalid_run_command():
43
44
exp += " (Drivers: chromedriver, geckodriver, edgedriver,\n "
44
45
exp += " iedriver, operadriver)\n "
45
46
exp += " Options:\n "
46
- exp += " VERSION - Specify the version (For Chromedriver ONLY)."
47
+ exp += " VERSION - Specify version (Chromedriver / EdgeDr ONLY)."
47
48
exp += " (Default Chromedriver version = 2.44)"
48
49
exp += ' Use "latest" to get the latest Chromedriver.'
49
50
exp += " Example:\n "
@@ -86,6 +87,9 @@ def main():
86
87
expected_contents = None
87
88
platform_code = None
88
89
inner_folder = None
90
+ use_version = ""
91
+ new_file = ""
92
+ f_name = ""
89
93
90
94
if name == "chromedriver" :
91
95
use_version = DEFAULT_CHROMEDRIVER_VERSION
@@ -140,17 +144,26 @@ def main():
140
144
"%s/%s" % (use_version , file_name ))
141
145
elif name == "edgedriver" or name == "microsoftwebdriver" :
142
146
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"
146
158
else :
147
159
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 ))
151
163
elif name == "iedriver" :
152
164
major_version = "3.14"
153
165
full_version = "3.14.0"
166
+ use_version = full_version
154
167
if "win32" in sys_plat :
155
168
file_name = "IEDriverServer_Win32_%s.zip" % full_version
156
169
elif "win64" in sys_plat or "x64" in sys_plat :
@@ -234,10 +247,16 @@ def main():
234
247
print ('Unzip Complete!\n ' )
235
248
for f_name in contents :
236
249
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 )
239
252
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 ))
241
260
print ("" )
242
261
elif name == "operadriver" :
243
262
if len (contents ) != 3 :
@@ -266,10 +285,13 @@ def main():
266
285
inner_driver = downloads_folder + '/' + inner_folder + driver_file
267
286
inner_sha = downloads_folder + '/' + inner_folder + "sha512_sum"
268
287
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 )
271
291
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 ))
273
295
# clean up extra files
274
296
if os .path .exists (inner_driver ):
275
297
os .remove (inner_driver )
@@ -301,10 +323,16 @@ def main():
301
323
print ('Unzip Complete!\n ' )
302
324
for f_name in contents :
303
325
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 )
306
328
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 ))
308
336
print ("" )
309
337
elif len (contents ) == 0 :
310
338
raise Exception ("Tar file %s is empty!" % tar_file_path )
@@ -313,9 +341,10 @@ def main():
313
341
else :
314
342
# Not a .zip file or a .tar.gz file. Just a direct download.
315
343
if "Driver" in file_name or "driver" in file_name :
316
- print ("Making %s executable ..." % file_path )
344
+ print ("Making [%s] executable ..." % file_name )
317
345
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 ))
319
348
320
349
321
350
if __name__ == "__main__" :
0 commit comments