From 790fa008ead143317d1809b7827134b42bae8178 Mon Sep 17 00:00:00 2001 From: F18-Ray Date: Wed, 14 Jan 2026 21:43:46 +0800 Subject: [PATCH 1/2] core-code: try to fix the wait loop quit out of expectation error --- src/EasyTicket/bin/get_train_code_ticket.py | 24 ++++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/EasyTicket/bin/get_train_code_ticket.py b/src/EasyTicket/bin/get_train_code_ticket.py index ca9140b..0e59d77 100755 --- a/src/EasyTicket/bin/get_train_code_ticket.py +++ b/src/EasyTicket/bin/get_train_code_ticket.py @@ -481,6 +481,7 @@ def sign_in(self): self.sign_in() self.get_sure_valid_code() def get_sure_valid_code(self): + self.valid_code_info=None self.get_valid_code_thread=threading.Thread( target=get_valid_code, args=(self.computer_width, self.computer_high, self.file_dir_name, self.sign_in_info[0]), @@ -488,16 +489,19 @@ def get_sure_valid_code(self): self.get_valid_code_thread.start() while True: # Why this fucking code always can't work in the expression if os.path.exists(self.valid_code_socket_file)==True: - self.is_exist=True - break + try: + with open(self.valid_code_socket_file, "r", encoding="utf-8") as valid_code_info: + self.valid_code_info=valid_code_info.read() + self.is_exist=True + break + except: + pass if os.path.exists(self.valid_code_resend_file)==True: self.get_valid_code_button = WebDriverWait(self.driver, timeout=20).until( EC.element_to_be_clickable((By.XPATH, self.get_valid_code_xpath))) self.get_valid_code_button.click() os.remove(self.valid_code_resend_file) self.is_exist=False - with open(self.valid_code_socket_file, "r", encoding="utf-8") as valid_code_info: - self.valid_code_info=valid_code_info.read() self.valid_code_input=WebDriverWait(self.driver, timeout=20).until( EC.element_to_be_clickable((By.XPATH, self.input_valid_code_xpath))) self.valid_code_input.click() @@ -588,6 +592,7 @@ def time_out_check(self): self.is_over_time=True print(self.is_over_time, "exit the loop") def ensure_ticket_info(self): + self.passengers_name_read=None self.give_ticket_info_xpath=r"/html/body/div[1]/div[11]/div[5]/a[2]" self.ticket_sure_xpath=r"/html/body/div[5]/div/div[5]/div[1]/div/div[2]/div[2]/div[8]/a[2]" self.tip_sure_xpath=r"/html/body/div[4]/div[2]/div[2]/div[2]/a" @@ -602,11 +607,14 @@ def ensure_ticket_info(self): self.passenger_name_UI_thread.start() while True: if os.path.exists(self.passengers_name_file)==True: - self.is_exist=True - break + try: + with open(self.passengers_name_file, "r", encoding="utf-8") as passengers_name_file: + self.passengers_name_read=passengers_name_file.read() + self.is_exist=True + break + except: + pass self.is_exist=False - with open(self.passengers_name_file, "r", encoding="utf-8") as passengers_name_file: - self.passengers_name_read=passengers_name_file.read() self.passengers_name_list=ast.literal_eval(self.passengers_name_read) for passenger_name in self.passengers_name_list: self.label_index = 0 From c0549bece72aab434fec287d6a77b5f246934c5f Mon Sep 17 00:00:00 2001 From: F18-Ray Date: Thu, 15 Jan 2026 12:48:34 +0800 Subject: [PATCH 2/2] core-code: try to fix the wait loop quit out of expectation error 1 --- src/EasyTicket/bin/get_train_code_ticket.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/EasyTicket/bin/get_train_code_ticket.py b/src/EasyTicket/bin/get_train_code_ticket.py index 0e59d77..1b35f86 100755 --- a/src/EasyTicket/bin/get_train_code_ticket.py +++ b/src/EasyTicket/bin/get_train_code_ticket.py @@ -432,11 +432,14 @@ def sign_in(self): sign_in(self.computer_width, self.computer_high, self.file_dir_name) while True: if os.path.exists(self.sign_in_socket_file)==True: - self.is_exist=True - break + try: + with open(self.sign_in_socket_file, "r", encoding="utf-8") as sign_in_info: + self.sign_in_info=sign_in_info.read() + self.is_exist=True + break + except: + pass self.is_exist=False - with open(self.sign_in_socket_file, "r", encoding="utf-8") as sign_in_info: - self.sign_in_info=sign_in_info.read() self.sign_in_info=ast.literal_eval(self.sign_in_info) self.contact_info_input=WebDriverWait(self.driver, timeout=20).until( EC.element_to_be_clickable((By.XPATH, self.contact_input_xpath)))