22import argparse
33import atexit
44import base64
5+ import logging
56import os .path
67import platform
78import re
1516
1617import browsers
1718import requests
18- from requests import Response , RequestException
19+ from requests import RequestException , Response
1920from selenium import webdriver
2021from selenium .webdriver .chrome .options import Options
2122from selenium .webdriver .chrome .service import Service
2223from webdriver_manager .core .os_manager import ChromeType , OperationSystemManager
2324
25+ logging .basicConfig (level = logging .DEBUG )
26+
2427__version__ = "0.0.15"
2528
2629PATH_TO_HTML2PDF_JS = os .path .join (
4144
4245class ChromeDriverManager :
4346 def get_chrome_driver (self , path_to_cache_dir : str ):
44- chrome_version = self .get_chrome_version ()
47+ for browser in browsers .browsers ():
48+ print (f"html2print: browser { browser ['browser_type' ]} :" ) # noqa: T201
49+ print (f" - path { browser ['path' ]} " ) # noqa: T201
50+ print (f" - display_name { browser ['display_name' ]} " ) # noqa: T201
51+ print (f" - version { browser ['version' ]} :" ) # noqa: T201
52+
53+ chrome_browser_info = browsers .get ("chrome" )
54+ chrome_version = chrome_browser_info ["version" ]
55+ chrome_path = chrome_browser_info ["path" ]
4556
4657 # If Web Driver Manager cannot detect Chrome, it returns None.
4758 if chrome_version is None :
@@ -55,6 +66,9 @@ def get_chrome_driver(self, path_to_cache_dir: str):
5566 print ( # noqa: T201
5667 f"html2print: Installed Chrome version: { chrome_version } "
5768 )
69+ print ( # noqa: T201
70+ f"html2print: Installed Chrome path: { chrome_path } "
71+ )
5872
5973 system_map = {
6074 "Windows" : "win32" ,
@@ -181,8 +195,9 @@ def send_http_get_request(url, params=None, **kwargs) -> Response:
181195 f"html2print: "
182196 f"failed to get response for URL: { url } with error: { last_error } "
183197 )
184- raise RequestException (f"GET request failed after 3 attempts: { url } " ) from last_error
185-
198+ raise RequestException (
199+ f"html2print: GET request failed after 3 attempts: { url } "
200+ ) from last_error
186201
187202 @staticmethod
188203 def get_chrome_version ():
@@ -329,7 +344,12 @@ def create_webdriver(
329344 else :
330345 service = Service (path_to_chrome )
331346
347+ path_to_chrome_browser = ""
348+ path_to_chrome_browser = browsers .get ("chrome" )["path" ]
349+ print (f"html2print: Chrome available at path: { path_to_chrome_browser } " ) # noqa: T201
350+
332351 webdriver_options = Options ()
352+ webdriver_options .binary_location = path_to_chrome_browser
333353 webdriver_options .add_argument ("start-maximized" )
334354 webdriver_options .add_argument ("disable-infobars" )
335355 # Doesn't seem to be needed.
@@ -462,7 +482,7 @@ def main():
462482 if browsers .get ("chrome" ) is not None :
463483 path_to_chrome_browser = browsers .get ("chrome" )["path" ]
464484 print ( # noqa: T201
465- f"html2print: Chrome available at path:{ path_to_chrome_browser } "
485+ f"html2print: Chrome available at path: { path_to_chrome_browser } "
466486 )
467487 sys .exit (0 )
468488
0 commit comments