This commit is contained in:
itqop 2025-06-28 19:57:29 +03:00
parent 62a3dfa445
commit 092f553f84
1 changed files with 20 additions and 0 deletions

View File

@ -22,6 +22,7 @@ class SubmissionResult(Enum):
SUCCESS = "success" SUCCESS = "success"
FAILED = "failed" FAILED = "failed"
SKIPPED = "skipped" SKIPPED = "skipped"
ALREADY_APPLIED = "already_applied"
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -246,6 +247,7 @@ class VacancyApplicator:
"заявка отправлена", "заявка отправлена",
"response sent", "response sent",
"уже откликнулись", "уже откликнулись",
"повторно",
"чат", "чат",
] ]
@ -291,6 +293,15 @@ class VacancyApplicator:
return ApplicationResult( return ApplicationResult(
vacancy_id="", vacancy_name=vacancy.name, success=True vacancy_id="", vacancy_name=vacancy.name, success=True
) )
elif submit_result == SubmissionResult.ALREADY_APPLIED:
logger.warning("⚠️ Уже откликались на эту вакансию")
return ApplicationResult(
vacancy_id="",
vacancy_name=vacancy.name,
success=False,
already_applied=True,
error_message="Уже откликались на эту вакансию",
)
elif submit_result == SubmissionResult.SKIPPED: elif submit_result == SubmissionResult.SKIPPED:
logger.warning("⚠️ Вакансия пропущена (нет модального окна)") logger.warning("⚠️ Вакансия пропущена (нет модального окна)")
return ApplicationResult( return ApplicationResult(
@ -410,6 +421,15 @@ class VacancyApplicator:
EC.element_to_be_clickable((By.CSS_SELECTOR, selector)) EC.element_to_be_clickable((By.CSS_SELECTOR, selector))
) )
if submit_button: if submit_button:
button_text = submit_button.text.strip().lower()
if self._is_already_applied(button_text):
logger.warning(
f"⚠️ Кнопка указывает что уже откликались: "
f"{submit_button.text.strip()}"
)
return SubmissionResult.ALREADY_APPLIED
logger.info( logger.info(
f"Нажимаем кнопку отправки: " f"Нажимаем кнопку отправки: "
f"{submit_button.text.strip()}" f"{submit_button.text.strip()}"