Вызов функции, когда пользователь закрывает окно консоли

#python #python-3.x #selenium #selenium-chromedriver

#python #python-3.x #селен #selenium-chromedriver

Вопрос:

Как обрабатывать закрытие консоли с помощью кнопки «X». Я попробовал эту вещь:

 def on_exit(signal_type):
    options = webdriver.ChromeOptions()
    # off devtools in output like printing something about bluetooth
    options.add_experimental_option("excludeSwitches", ["enable-logging"])
    driver = webdriver.Chrome(options=options, executable_path='chromedriver.exe')
    print('a')
    driver.get('')
    print('b')


import win32api
win32api.SetConsoleCtrlHandler(on_exit, True)


while True:
    pass

 

Но код останавливается в строке: driver.get('') и не идите дальше, и я не знаю, почему.

Может быть, есть пользовательская среда для консоли, и там я смогу с этим справиться. Я также пытался просто печатать числа от 1 до 10000, и он остановился примерно на 500, так почему же это происходит так? И каково решение? Может быть, другая консольная среда? Я имею в виду что-то вроде модуля приложения, который может просто показывать консоль и имеет лучшую обработку для закрытия всего приложения.

Заранее спасибо

Комментарии:

1. Каково ожидаемое поведение driver.get(‘’) ?

2. Я хочу, чтобы он вошел на веб-сайт и выполнил некоторые действия, но мне любопытно, почему (в этом примере) он не печатает «b» в консоли

Ответ №1:

Я просто использовал tkinter в качестве настраиваемой среды для консоли для обработки всех событий, которые я хочу. Надеюсь, это вам поможет.