Skip to content
This repository has been archived by the owner on Nov 6, 2024. It is now read-only.

Commit

Permalink
Update webdriver.py
Browse files Browse the repository at this point in the history
  • Loading branch information
maximedrn authored May 4, 2023
1 parent 1f6fe4c commit 85d7525
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions app/services/webdriver.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -79,33 +78,28 @@ 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']})
self.send(driver, 'Network.enable') # Confirm the blocked URLs.
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."""
Expand Down

0 comments on commit 85d7525

Please # to comment.