diff --git a/chrome_tixcraft.py b/chrome_tixcraft.py index aa7ba87..05cc272 100644 --- a/chrome_tixcraft.py +++ b/chrome_tixcraft.py @@ -53,7 +53,7 @@ import webbrowser import argparse import itertools -CONST_APP_VERSION = "MaxBot (2023.07.01)" +CONST_APP_VERSION = "MaxBot (2023.07.03)" CONST_MAXBOT_CONFIG_FILE = "settings.json" CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt" @@ -9603,7 +9603,7 @@ def kham_performance_ticket_number(driver, config_dict): return is_ticket_number_assigned -def kham_choice_auto_seat(driver): +def kham_switch_to_auto_seat(driver): is_switch_to_auto_seat = False btn_switch_to_auto_seat = None @@ -9653,6 +9653,7 @@ def kham_performance(driver, config_dict, ocr, Captcha_Browser, domain_name, mod is_need_refresh = False auto_fill_ticket_number = True + is_captcha_sent = False if auto_fill_ticket_number: area_keyword = config_dict["area_auto_select"]["area_keyword"].strip() @@ -9688,7 +9689,7 @@ def kham_performance(driver, config_dict, ocr, Captcha_Browser, domain_name, mod is_captcha_sent = kham_captcha(driver, config_dict, ocr, Captcha_Browser, model_name) - return is_price_assign_by_bot + return is_price_assign_by_bot, is_captcha_sent def kham_keyin_captcha_code(driver, answer = "", auto_submit = False): @@ -9987,6 +9988,7 @@ def kham_main(driver, url, config_dict, ocr, Captcha_Browser): if not Captcha_Browser is None: Captcha_Browser.Set_Domain(domain_name, captcha_url=captcha_url) + is_captcha_sent = False if config_dict["ocr_captcha"]["enable"]: is_reset_password_text = kham_check_captcha_text_error(driver, config_dict) if is_reset_password_text: @@ -9994,8 +9996,28 @@ def kham_main(driver, url, config_dict, ocr, Captcha_Browser): is_button_clicked = force_press_button(driver, By.CSS_SELECTOR,'div.ui-dialog-buttonset > button.ui-button') if config_dict["area_auto_select"]["enable"]: - is_switch_to_auto_seat = kham_choice_auto_seat(driver) - is_price_assign_by_bot = kham_performance(driver, config_dict, ocr, Captcha_Browser, domain_name, model_name) + is_switch_to_auto_seat = kham_switch_to_auto_seat(driver) + is_price_assign_by_bot, is_captcha_sent = kham_performance(driver, config_dict, ocr, Captcha_Browser, domain_name, model_name) + + # this is a special case, not performance_price_area_id, directly input ticket_nubmer in #amount. + is_ticket_number_assigned = kham_performance_ticket_number(driver, config_dict) + if show_debug_message: + print("is_ticket_number_assigned:", is_ticket_number_assigned) + print("is_captcha_sent:", is_captcha_sent) + if is_ticket_number_assigned: + if is_captcha_sent: + el_btn = None + my_css_selector = '#addcart' + try: + el_btn = driver.find_element(By.CSS_SELECTOR, my_css_selector) + if not el_btn is None: + el_btn.click() + except Exception as exc: + if show_debug_message: + print("find addcart button fail") + print(exc) + pass + #https://kham.com.tw/application/UTK02/UTK0205_.aspx?PERFORMANCE_ID=XXX&GROUP_ID=30&PERFORMANCE_PRICE_AREA_ID=XXX if '.aspx?performance_id=' in url.lower() and 'performance_price_area_id=' in url.lower():