diff --git a/roadtx/roadtools/roadtx/main.py b/roadtx/roadtools/roadtx/main.py index 453e3c8..527a54d 100644 --- a/roadtx/roadtools/roadtx/main.py +++ b/roadtx/roadtools/roadtx/main.py @@ -715,6 +715,9 @@ def main(): intauth_parser.add_argument('--otpseed', action='store', help='TOTP seed to calculate MFA code when prompted') + intauth_parser.add_argument('--headless', + action='store_true', + help='Run Selenium in headless mode') # Interactive auth using Selenium - creds from keepass kdbauth_parser = subparsers.add_parser('keepassauth', help='Selenium based authentication with credentials from a KeePass database') @@ -1588,7 +1591,7 @@ def main(): redirect_url = args.redirect_url else: redirect_url = find_redirurl_for_client(auth.client_id, interactive=False) - selauth = SeleniumAuthentication(auth, deviceauth, redirect_url, proxy=args.proxy, proxy_type=args.proxy_type) + selauth = SeleniumAuthentication(auth, deviceauth, redirect_url, proxy=args.proxy, proxy_type=args.proxy_type, headless=args.headless) if args.url: url = args.url else: diff --git a/roadtx/roadtools/roadtx/selenium.py b/roadtx/roadtools/roadtx/selenium.py index 6821a75..7a210cf 100644 --- a/roadtx/roadtools/roadtx/selenium.py +++ b/roadtx/roadtools/roadtx/selenium.py @@ -41,7 +41,7 @@ def wrapped(*args, **kwargs): return wrapped class SeleniumAuthentication(): - def __init__(self, auth, deviceauth, redirurl, proxy=None, proxy_type="http"): + def __init__(self, auth, deviceauth, redirurl, proxy=None, proxy_type="http", headless=False): if proxy: # Strip possible prefixes proxy = proxy.replace('http://','').replace('https://','').replace('socks://','').replace('socks4://','').replace('socks5://','') @@ -51,7 +51,7 @@ def __init__(self, auth, deviceauth, redirurl, proxy=None, proxy_type="http"): self.deviceauth = deviceauth self.driver = None self.redirurl = redirurl - self.headless = False + self.headless = headless def get_service(self, driverpath): # Default expects geckodriver to be in path, but if it exists locally we use that