From 790fa008ead143317d1809b7827134b42bae8178 Mon Sep 17 00:00:00 2001 From: F18-Ray Date: Wed, 14 Jan 2026 21:43:46 +0800 Subject: [PATCH 1/3] 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/3] 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))) From ba2e1b66955df7eab6680804e82650a323917ba0 Mon Sep 17 00:00:00 2001 From: F18-Maverick Date: Sat, 17 Jan 2026 11:56:20 +0800 Subject: [PATCH 3/3] core-code: fix the get valid code UI error while delete the window --- src/EasyTicket/bin/get_valid_code_UI.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/EasyTicket/bin/get_valid_code_UI.py b/src/EasyTicket/bin/get_valid_code_UI.py index ed99baa..a508503 100755 --- a/src/EasyTicket/bin/get_valid_code_UI.py +++ b/src/EasyTicket/bin/get_valid_code_UI.py @@ -17,9 +17,6 @@ def __init__(self, computer_info_width, computer_info_height, file_dir, phone_nu self.x_entry = 50 self.y_entry = 80 / 3 self.windows_get_valid_code = tkinter.Toplevel() - # self.windows_get_valid_code = tkinter.Tk() - # self.windows_choose_start_time_icon = self.windows_choose_start_time.iconbitmap( - # r"./ticket_12306_prog_addition/download_photo.ico") self.title_1 = self.windows_get_valid_code.title("填写登录信息") self.windows_get_valid_code_height = 300 self.windows_get_valid_code_width = 500 @@ -50,13 +47,15 @@ def time_count_bind(self): self.count_total_run+=1 def time_count_down(): self.time_count_total=60 - # if self.is_window_destory == False: while self.time_count_total!=0 and self.is_window_destory==False: - self.time_text=tkinter.Label(self.windows_get_valid_code, text="重新发送({}秒)".format(self.time_count_total)) - self.time_text.place(x=self.x_entry, y=self.y_entry+60) - self.time_count_total-=1 - time.sleep(1) - self.time_text.destroy() + try: + self.time_text=tkinter.Label(self.windows_get_valid_code, text="重新发送({}秒)".format(self.time_count_total)) + self.time_text.place(x=self.x_entry, y=self.y_entry+60) + self.time_count_total-=1 + time.sleep(1) + self.time_text.destroy() + except: + pass try: self.button_resend_valid_code = tkinter.Button( self.windows_get_valid_code, text="重新发送验证码", width=24, height=1, @@ -73,7 +72,10 @@ def time_count_down_thread(): with open(os.path.join(self.temp_dir, "data_socket_user_resend_valid_code_info.log"), "w", encoding="utf-8") as datalog_write: datalog_write.write(str(1)) - time_count_down_thread() + try: + time_count_down_thread() + except: + pass if self.count_total_run!=1: self.button_resend_valid_code.destroy() def get_data(self): @@ -95,9 +97,6 @@ def button_get_sign_in_info(self): self.button_sign_in_sure.pack(side=tkinter.BOTTOM) self.bind_func_sure = self.button_sign_in_sure.bind("", lambda event: self.get_data()) -# if __name__=="__main__": -# get_valid_code(2560, 1600, r"D:\project\python\pythonProject1\Web_Crawler\Analyze_Number\Numers_Analyze_Beta\Analyze_number_mainfile\ticket_12306", "15955152788") -# tkinter.mainloop()