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+ for browser in browsers .browsers ():
49+ print (f"html2print: browser { browser ['browser_type' ]} :" ) # noqa: T201
50+ print (f" - path { browser ['path' ]} " ) # noqa: T201
51+ print (f" - display_name { browser ['display_name' ]} " ) # noqa: T201
52+ print (f" - version { browser ['version' ]} :" ) # noqa: T201
53+
54+ if sys .platform == "linux" :
55+ for browser in bb ():
56+ print (f"my_linux_browsers: browser { browser ['browser_type' ]} :" ) # noqa: T201
57+ print (f" - path { browser ['path' ]} " ) # noqa: T201
58+ print ( # noqa: T201
59+ f" - display_name { browser ['display_name' ]} "
60+ )
61+ print (f" - version { browser ['version' ]} :" ) # noqa: T201
62+
63+ chrome_browser_info = browsers .get ("chrome" )
64+ chrome_version = chrome_browser_info ["version" ]
65+ chrome_path = chrome_browser_info ["path" ]
4566
4667 # If Web Driver Manager cannot detect Chrome, it returns None.
4768 if chrome_version is None :
@@ -55,6 +76,9 @@ def get_chrome_driver(self, path_to_cache_dir: str):
5576 print ( # noqa: T201
5677 f"html2print: Installed Chrome version: { chrome_version } "
5778 )
79+ print ( # noqa: T201
80+ f"html2print: Installed Chrome path: { chrome_path } "
81+ )
5882
5983 system_map = {
6084 "Windows" : "win32" ,
@@ -181,8 +205,9 @@ def send_http_get_request(url, params=None, **kwargs) -> Response:
181205 f"html2print: "
182206 f"failed to get response for URL: { url } with error: { last_error } "
183207 )
184- raise RequestException (f"GET request failed after 3 attempts: { url } " ) from last_error
185-
208+ raise RequestException (
209+ f"html2print: GET request failed after 3 attempts: { url } "
210+ ) from last_error
186211
187212 @staticmethod
188213 def get_chrome_version ():
@@ -329,7 +354,12 @@ def create_webdriver(
329354 else :
330355 service = Service (path_to_chrome )
331356
357+ path_to_chrome_browser = ""
358+ path_to_chrome_browser = browsers .get ("chrome" )["path" ]
359+ print (f"html2print: Chrome available at path: { path_to_chrome_browser } " ) # noqa: T201
360+
332361 webdriver_options = Options ()
362+ webdriver_options .binary_location = path_to_chrome_browser
333363 webdriver_options .add_argument ("start-maximized" )
334364 webdriver_options .add_argument ("disable-infobars" )
335365 # Doesn't seem to be needed.
@@ -462,7 +492,7 @@ def main():
462492 if browsers .get ("chrome" ) is not None :
463493 path_to_chrome_browser = browsers .get ("chrome" )["path" ]
464494 print ( # noqa: T201
465- f"html2print: Chrome available at path:{ path_to_chrome_browser } "
495+ f"html2print: Chrome available at path: { path_to_chrome_browser } "
466496 )
467497 sys .exit (0 )
468498
0 commit comments