55 seleniumbase install {chromedriver|geckodriver|edgedriver|
66 iedriver|operadriver} [OPTIONS]
77Options:
8- VERSION - Specify version (Chromedriver / Edgedriver ONLY)
9- (Default Chromedriver version = 2.44)
10- Use "latest" to get the latest Chromedriver .
8+ VERSION - Specify version
9+ (Default Chromedriver version = 2.44)
10+ Use "latest" for the latest version .
1111Example:
1212 seleniumbase install chromedriver
1313 seleniumbase install chromedriver 76.0.3809.126
3434urllib3 .disable_warnings ()
3535DRIVER_DIR = os .path .dirname (os .path .realpath (drivers .__file__ ))
3636DEFAULT_CHROMEDRIVER_VERSION = "2.44"
37- DEFAULT_GECKODRIVER_VERSION = "v0.24 .0"
37+ DEFAULT_GECKODRIVER_VERSION = "v0.25 .0"
3838DEFAULT_EDGEDRIVER_VERSION = "77.0.235.20"
3939DEFAULT_OPERADRIVER_VERSION = "v.2.40"
4040
@@ -127,6 +127,18 @@ def main():
127127 raise Exception ("Could not find Chromedriver to download!\n " )
128128 elif name == "geckodriver" or name == "firefoxdriver" :
129129 use_version = DEFAULT_GECKODRIVER_VERSION
130+ found_geckodriver = False
131+ if num_args == 4 :
132+ use_version = sys .argv [3 ]
133+ if use_version .lower () == "latest" :
134+ last = ("https://api.github.com/repos/"
135+ "mozilla/geckodriver/releases/latest" )
136+ url_request = requests .get (last )
137+ if url_request .ok :
138+ found_geckodriver = True
139+ use_version = url_request .json ()["tag_name" ]
140+ else :
141+ use_version = DEFAULT_GECKODRIVER_VERSION
130142 if "darwin" in sys_plat :
131143 file_name = "geckodriver-%s-macos.tar.gz" % use_version
132144 elif "linux" in sys_plat :
@@ -140,10 +152,17 @@ def main():
140152 else :
141153 raise Exception ("Cannot determine which version of Geckodriver "
142154 "(Firefox Driver) to download!" )
143-
144155 download_url = ("https://github.com/mozilla/geckodriver/"
145156 "releases/download/"
146157 "%s/%s" % (use_version , file_name ))
158+ url_request = None
159+ if not found_geckodriver :
160+ url_request = requests .get (download_url )
161+ if found_geckodriver or url_request .ok :
162+ print ("\n Geckodriver version for download = %s" % use_version )
163+ else :
164+ raise Exception ("\n Could not find the specified Geckodriver "
165+ "version to download!\n " )
147166 elif name == "edgedriver" or name == "msedgedriver" :
148167 name = "edgedriver"
149168 use_version = DEFAULT_EDGEDRIVER_VERSION
0 commit comments