Skip to content

Commit de5cd9d

Browse files
committed
Improve reliability for webdriver downloads
1 parent 09176cc commit de5cd9d

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

seleniumbase/console_scripts/sb_install.py

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,18 @@ def requests_get(url):
107107
return response
108108

109109

110+
def requests_get_with_retry(url):
111+
response = None
112+
try:
113+
response = requests.get(url)
114+
except Exception:
115+
import time
116+
117+
time.sleep(0.75)
118+
response = requests.get(url)
119+
return response
120+
121+
110122
def main(override=None):
111123
if override:
112124
if override == "chromedriver":
@@ -344,7 +356,7 @@ def main(override=None):
344356
else:
345357
invalid_run_command()
346358
if get_latest:
347-
url_request = requests.get(last)
359+
url_request = requests_get_with_retry(last)
348360
if url_request.ok:
349361
use_version = url_request.text.split("\r")[0].split("\n")[0]
350362
use_version = use_version.split(".")[0]
@@ -370,15 +382,15 @@ def main(override=None):
370382
if use_version.isdigit():
371383
edgedriver_st = "https://msedgedriver.azureedge.net/LATEST_RELEASE"
372384
use_version = "%s_%s_%s" % (edgedriver_st, use_version, suffix)
373-
url_request = requests.get(use_version)
385+
url_request = requests_get_with_retry(use_version)
374386
if url_request.ok:
375387
use_version = url_request.text.split("\r")[0].split("\n")[0]
376388
download_url = "https://msedgedriver.azureedge.net/%s/%s" % (
377389
use_version,
378390
file_name,
379391
)
380392
if not get_latest and not use_version == DEFAULT_EDGEDRIVER_VERSION:
381-
url_request = requests.get(download_url)
393+
url_request = requests_get_with_retry(download_url)
382394
if not url_request.ok:
383395
raise Exception(
384396
"Could not find version [%s] of EdgeDriver!" % use_version
@@ -410,7 +422,7 @@ def main(override=None):
410422
"releases/download/"
411423
"%s/%s" % (headless_ie_version, headless_ie_file_name)
412424
)
413-
url_request = requests.get(headless_ie_url)
425+
url_request = requests_get_with_retry(headless_ie_url)
414426
if url_request.ok:
415427
headless_ie_exists = True
416428
msg = c2 + "HeadlessIEDriver version for download" + cr
@@ -497,7 +509,7 @@ def main(override=None):
497509
"\nDownloading %s from:\n%s ..."
498510
% (headless_ie_file_name, headless_ie_url)
499511
)
500-
remote_file = requests.get(headless_ie_url)
512+
remote_file = requests_get_with_retry(headless_ie_url)
501513
with open(headless_ie_file_path, "wb") as file:
502514
file.write(remote_file.content)
503515
print("Download Complete!\n")
@@ -572,7 +584,7 @@ def main(override=None):
572584
print("%s[%s] is now ready for use!%s" % (c1, driver_file, cr))
573585

574586
print("\nDownloading %s from:\n%s ..." % (file_name, download_url))
575-
remote_file = requests.get(download_url)
587+
remote_file = requests_get_with_retry(download_url)
576588
with open(file_path, "wb") as file:
577589
file.write(remote_file.content)
578590
print("Download Complete!\n")

0 commit comments

Comments
 (0)