From 85d752534dd2885bbfc64bcc9e149589fa981586 Mon Sep 17 00:00:00 2001 From: Maxime <91475935+maximedrn@users.noreply.github.com> Date: Thu, 4 May 2023 10:54:46 +0200 Subject: [PATCH] Update webdriver.py --- app/services/webdriver.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/app/services/webdriver.py b/app/services/webdriver.py index fd6e0c6..b1d6701 100644 --- a/app/services/webdriver.py +++ b/app/services/webdriver.py @@ -64,7 +64,6 @@ def __init__(self, browser: int, browser_path: str, def chrome(self) -> webdriver: """Start a Chrome webdriver and return its state.""" options = webdriver.ChromeOptions() # Configure options for Chrome. - # options.add_extension(self.metamask_extension_path) options.add_argument(f'--load-extension=' + extract_zip( eval(f'self.{self.wallet_name}_extension_path'))) # UNQUOTE THIT TO ENABLE THE HEADLESS MODE. @@ -79,20 +78,14 @@ def chrome(self) -> webdriver: options.add_argument('--disable-popup-blocking') options.add_argument('--disable-dev-shm-usage') options.add_argument('--disable-gpu') - options.add_argument('--lang=en-US') # Set webdriver language - # options.add_experimental_option( # to English. - 2 methods. - # 'prefs', {'profile.managed_default_content_settings.images': 2 if - # self.solver == 4 else 1, 'intl.accept_languages': - # 'en,en_US'}) # Hide the images for the bypasser. - # options.add_experimental_option('excludeSwitches', [ - # 'enable-logging', 'enable-automation']) + options.add_argument('--lang=en-US') # Set webdriver language to English. if isinstance(self.wallet.recovery_phrase, tuple): options.add_argument( # Set the User Data folder. f'--user-data-dir={self.wallet.recovery_phrase[0]}') options.add_argument( # Set the Google Chrome profile. f'--profile-directory={self.wallet.recovery_phrase[1]}') - driver = Chrome(service=SC( # DeprecationWarning using - self.browser_path), options=options) # executable_path. + driver = Chrome(options=options, log_level=0, service=SC( + self.browser_path), version_main=self.chrome_version(True)) self.send(driver, 'Network.setBlockedURLs', {'urls': [ 'www.google-analytics.com', 'static.cloudflareinsights.com', 'bat.bing.com', 'fonts.gstatic.com', 'cdnjs.cloudflare.com']}) @@ -100,12 +93,13 @@ def chrome(self) -> webdriver: driver.maximize_window() # Maximize window to reach all elements. return driver - def chrome_version(self) -> float or int: + def chrome_version(self, default_version: bool = False) -> float or int: """Return the Google Chrome version.""" from webdriver_manager.utils import ChromeType, \ get_browser_version_from_os version = get_browser_version_from_os(ChromeType.GOOGLE) - return int(version.split('.')[0]) if version else 110 # Default. + return int(version.split('.')[0]) if version else ( + None if default_version else 110) # Default. def send(self, driver: webdriver, cmd: str, params: dict = {}) -> None: """Run a specific command with parameters in the webdriver."""