From 9f8b92f2325c1edf9ee48ad03e0468b0d9449220 Mon Sep 17 00:00:00 2001 From: unknown <2303063@ad.nchc.org.tw> Date: Fri, 5 Jan 2024 10:29:39 +0800 Subject: [PATCH] extension add heart beat, allow auto reload for non-chrome browser on kktix. --- chrome_tixcraft.py | 154 +++++++++++++++--- config_launcher.py | 2 +- settings.json | 2 +- settings.py | 2 +- text_server.py | 2 +- webdriver/Maxbot_1.0.0/background.js | 60 +++++-- webdriver/Maxbot_1.0.0/data/settings.json | 2 +- webdriver/Maxbot_1.0.0/manifest.json | 3 +- .../Maxbot_1.0.0/modules/heartbeatconnect.js | 46 ++++++ 9 files changed, 232 insertions(+), 41 deletions(-) create mode 100644 webdriver/Maxbot_1.0.0/modules/heartbeatconnect.js diff --git a/chrome_tixcraft.py b/chrome_tixcraft.py index 3e19a73..ec543cd 100644 --- a/chrome_tixcraft.py +++ b/chrome_tixcraft.py @@ -54,7 +54,7 @@ import webbrowser import chromedriver_autoinstaller -CONST_APP_VERSION = "MaxBot (2023.12.21)" +CONST_APP_VERSION = "MaxBot (2023.12.22)" CONST_MAXBOT_CONFIG_FILE = "settings.json" CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt" @@ -1971,7 +1971,7 @@ def tixcraft_date_auto_select(driver, url, config_dict, domain_name): if show_debug_message: print("match coming soon condiction at row:", row_text) is_coming_soon = True - + if is_coming_soon: if auto_reload_coming_soon_page_enable: break @@ -2042,14 +2042,14 @@ def tixcraft_date_auto_select(driver, url, config_dict, domain_name): else: if show_debug_message: print("data-href not ready") - + # delay 200ms to click. #driver.set_script_timeout(0.3) #js="""setTimeout(function(){arguments[0].click()},200);""" #driver.execute_script(js, target_area) except Exception as exc: pass - + # for: ticketmaster.sg is_date_clicked = force_press_button(target_area, By.CSS_SELECTOR,'a') @@ -2657,7 +2657,7 @@ def tixcraft_ticket_agree(driver, config_dict): return is_finish_checkbox_click -def tixcraft_ticket_number_auto_fill(driver, select_obj, ticket_number): +def ticket_number_select_fill(driver, select_obj, ticket_number): is_ticket_number_assigned = False if not select_obj is None: try: @@ -3387,20 +3387,23 @@ def tixcraft_assign_ticket_number(driver, config_dict): if row_text.isnumeric(): # ticket assign. is_ticket_number_assigned = True - return is_ticket_number_assigned + + return is_ticket_number_assigned, select_obj def tixcraft_ticket_main(driver, config_dict, ocr, Captcha_Browser, domain_name): # use extension instead of selenium. #tixcraft_ticket_main_agree(driver, config_dict) + is_ticket_number_assigned = False - is_ticket_number_assigned = tixcraft_assign_ticket_number(driver, config_dict) + # PS: some events on tixcraft have multi