@@ -109,7 +109,18 @@ def _download_chromedriver(
109109 path_to_cached_chrome_driver : str ,
110110 ) -> str :
111111 url = "https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json"
112- response = ChromeDriverManager .send_http_get_request (url ).json ()
112+ response = ChromeDriverManager .send_http_get_request (url )
113+ if response is None :
114+ raise RuntimeError (
115+ "Could not download known-good-versions-with-downloads.json"
116+ )
117+
118+ response = response .json ()
119+ if response is None :
120+ raise RuntimeError (
121+ "Could not parse known-good-versions-with-downloads.json"
122+ )
123+ assert isinstance (response , dict )
113124
114125 matching_versions = [
115126 item
@@ -118,7 +129,7 @@ def _download_chromedriver(
118129 ]
119130
120131 if not matching_versions :
121- raise Exception (
132+ raise RuntimeError (
122133 f"No compatible ChromeDriver found for Chrome version { chrome_major_version } "
123134 )
124135
@@ -142,6 +153,11 @@ def _download_chromedriver(
142153 )
143154 response = ChromeDriverManager .send_http_get_request (driver_url )
144155
156+ if response is None :
157+ raise RuntimeError (
158+ f"Could not download ChromeDriver from { driver_url } "
159+ )
160+
145161 Path (path_to_driver_cache_dir ).mkdir (parents = True , exist_ok = True )
146162 zip_path = os .path .join (path_to_driver_cache_dir , "chromedriver.zip" )
147163 print ( # noqa: T201
@@ -179,6 +195,9 @@ def send_http_get_request(url: str) -> Response:
179195 f"html2print: "
180196 f"failed to get response for URL: { url } with error: { last_error } "
181197 )
198+ raise RuntimeError (
199+ f"GET request failed after 3 attempts: { url } "
200+ ) from last_error
182201
183202 @staticmethod
184203 def get_chrome_version () -> Optional [str ]:
0 commit comments