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 my_linux_browsers import browsers as bb
20+ from requests import RequestException , Response
1921from selenium import webdriver
2022from selenium .webdriver .chrome .options import Options
2123from selenium .webdriver .chrome .service import Service
2224from webdriver_manager .core .os_manager import ChromeType , OperationSystemManager
2325
26+ logging .getLogger ().setLevel (logging .DEBUG )
27+
2428__version__ = "0.0.15"
2529
2630PATH_TO_HTML2PDF_JS = os .path .join (
4145
4246class ChromeDriverManager :
4347 def get_chrome_driver (self , path_to_cache_dir : str ):
44- chrome_version = self .get_chrome_version ()
48+ home_dir = os .environ .get ("HOME" )
49+ print (f"HOME: { home_dir } " ) # noqa: T201
50+
51+ for browser in browsers .browsers ():
52+ print (f"html2print: browser { browser ['browser_type' ]} :" ) # noqa: T201
53+ print (f" - path { browser ['path' ]} " ) # noqa: T201
54+ print (f" - display_name { browser ['display_name' ]} " ) # noqa: T201
55+ print (f" - version { browser ['version' ]} :" ) # noqa: T201
56+
57+ if sys .platform == "linux" :
58+ for browser in bb ():
59+ print (f"my_linux_browsers: browser { browser ['browser_type' ]} :" ) # noqa: T201
60+ print (f" - path { browser ['path' ]} " ) # noqa: T201
61+ print ( # noqa: T201
62+ f" - display_name { browser ['display_name' ]} "
63+ )
64+ print (f" - version { browser ['version' ]} :" ) # noqa: T201
65+
66+ chrome_browser_info = browsers .get ("chrome" )
67+ chrome_version = chrome_browser_info ["version" ]
68+ chrome_path = chrome_browser_info ["path" ]
4569
4670 # If Web Driver Manager cannot detect Chrome, it returns None.
4771 if chrome_version is None :
@@ -55,6 +79,9 @@ def get_chrome_driver(self, path_to_cache_dir: str):
5579 print ( # noqa: T201
5680 f"html2print: Installed Chrome version: { chrome_version } "
5781 )
82+ print ( # noqa: T201
83+ f"html2print: Installed Chrome path: { chrome_path } "
84+ )
5885
5986 system_map = {
6087 "Windows" : "win32" ,
@@ -181,8 +208,9 @@ def send_http_get_request(url, params=None, **kwargs) -> Response:
181208 f"html2print: "
182209 f"failed to get response for URL: { url } with error: { last_error } "
183210 )
184- raise RequestException (f"GET request failed after 3 attempts: { url } " ) from last_error
185-
211+ raise RequestException (
212+ f"html2print: GET request failed after 3 attempts: { url } "
213+ ) from last_error
186214
187215 @staticmethod
188216 def get_chrome_version ():
@@ -329,7 +357,12 @@ def create_webdriver(
329357 else :
330358 service = Service (path_to_chrome )
331359
360+ path_to_chrome_browser = ""
361+ path_to_chrome_browser = browsers .get ("chrome" )["path" ]
362+ print (f"html2print: Chrome available at path: { path_to_chrome_browser } " ) # noqa: T201
363+
332364 webdriver_options = Options ()
365+ webdriver_options .binary_location = path_to_chrome_browser
333366 webdriver_options .add_argument ("start-maximized" )
334367 webdriver_options .add_argument ("disable-infobars" )
335368 # Doesn't seem to be needed.
@@ -462,7 +495,7 @@ def main():
462495 if browsers .get ("chrome" ) is not None :
463496 path_to_chrome_browser = browsers .get ("chrome" )["path" ]
464497 print ( # noqa: T201
465- f"html2print: Chrome available at path:{ path_to_chrome_browser } "
498+ f"html2print: Chrome available at path: { path_to_chrome_browser } "
466499 )
467500 sys .exit (0 )
468501
0 commit comments