Compare commits

...

2 Commits

Author SHA1 Message Date
kinoshitakenta e1ec580ce1
fix: missing import `ctypes` library 2025-07-03 10:29:12 +08:00
kinoshitakenta 5b87c86223
fix: skip handling alerts that are already closed
Avoids handling alerts that have already been dismissed at the time of operation.
2025-07-03 10:18:35 +08:00
2 changed files with 7 additions and 4 deletions

View File

@ -4,6 +4,7 @@
__author__ = 'kinoshitakenta'
__email__ = "ybs0306748@gmail.com"
import ctypes
import logging
import os
from pathlib import Path
@ -51,6 +52,7 @@ def display_usage():
clear_screen()
for cmd, msg in get_usage():
print(f"{cmd}: {msg}")
print()
def main(opt):
@ -62,11 +64,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()

View File

@ -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: