diff --git a/main.py b/main.py index 1c7ac8f..82134af 100644 --- a/main.py +++ b/main.py @@ -51,6 +51,7 @@ def display_usage(): clear_screen() for cmd, msg in get_usage(): print(f"{cmd}: {msg}") + print() def main(opt): @@ -62,11 +63,12 @@ def main(opt): login_info = LoginInfo(config_path) driver = get_driver() - keep_login_status(driver, login_info) action_agent = Action(driver) display_usage() + keep_login_status(driver, login_info) + try: while True: cmd = input("\nInput action code: ").strip() diff --git a/utils/utils.py b/utils/utils.py index 9b64a5f..6f7f257 100644 --- a/utils/utils.py +++ b/utils/utils.py @@ -8,7 +8,7 @@ if sys.version_info >= (3, 11): else: import tomli as tomllib from selenium import webdriver -from selenium.common.exceptions import NoAlertPresentException, UnexpectedAlertPresentException +from selenium.common.exceptions import NoAlertPresentException, NoSuchWindowException, UnexpectedAlertPresentException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select @@ -101,7 +101,7 @@ def keep_login_status(driver: webdriver.Chrome, login_info: LoginInfo) -> bool: print(f"Login error message: {alert.text}") alert.accept() return False # Skip remaining logic, login failed - except NoAlertPresentException: + except (NoAlertPresentException, NoSuchWindowException): pass # No alert, proceed time.sleep(2) @@ -119,7 +119,7 @@ def keep_login_status(driver: webdriver.Chrome, login_info: LoginInfo) -> bool: print(f"Unexpected alert: {alert.text}") alert.accept() continue - except NoAlertPresentException: + except (NoAlertPresentException, NoSuchWindowException): continue if "CHI MotorWeb - " in title: