diff --git a/hh_browser.py b/hh_browser.py index f716398..2430907 100644 --- a/hh_browser.py +++ b/hh_browser.py @@ -277,11 +277,16 @@ def open_response_page(account_dir, user, account, vacancy, message, if not submitted: shot = _save_screenshot(page, screenshot_dir, vacancy["id"]) return False, "Не нашёл кнопку «Отправить» — проверьте скриншот", shot - # Ждём подтверждение и снимаем скриншот результата - page.wait_for_timeout(2500) - shot = _save_screenshot(page, screenshot_dir, vacancy["id"]) - # Отклик отправлен — закрываем браузер автоматически - _close_context(key) + # Ждём подтверждение и снимаем скриншот результата. + # После отправки hh.ru может закрыть модалку/перезагрузить страницу — + # ловим любые ошибки, но браузер закрываем ВСЕГДА (finally). + try: + page.wait_for_timeout(2500) + shot = _save_screenshot(page, screenshot_dir, vacancy["id"]) + except Exception: + shot = None + finally: + _close_context(key) return True, "Отклик отправлен", shot shot = _save_screenshot(page, screenshot_dir, vacancy["id"]) @@ -299,9 +304,13 @@ def confirm_send(user, account, vid): btn = page.locator(sel).first if btn.is_visible(timeout=3000): btn.click() - page.wait_for_timeout(1500) - # Отклик отправлен — закрываем браузер автоматически - _close_context(key) + try: + page.wait_for_timeout(1500) + except Exception: + pass + finally: + # Отклик отправлен — закрываем браузер автоматически + _close_context(key) return True, "Кнопка «Отправить» нажата. Проверьте статус отклика на hh.ru." except Exception: continue