fix: закрывать браузер в finally — после отправки hh.ru закрывает модалку, wait_for_timeout падал с TargetClosedError и _close_context пропускался

This commit is contained in:
apuc committed 2026-09-16 13:40:43 +03:00
1 parent ec9f342cf6
commit 0d2be8f873
1 file changed
+17 -8
+17 -8
View File
@@ -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