
Поиск вакансий на hh.ru
Поиск вакансий и отклики на hh.ru — основном сайте работы в России (~70% вакансий). Автоматизация browser-use для поиска по URL-параметрам: регион, зарплата, опыт, тип занятости, график. Извлечение результатов, исследование компаний и полный процесс отклика.
SKILL.md
hh.ru — Поиск вакансий
Поиск вакансий и отклики на hh.ru — основном сайте работы в России (~70% всех вакансий, ~30 млн посетителей в месяц).
Overview
hh.ru (HeadHunter) — крупнейшая платформа для поиска работы в России. Охватывает все индустрии, уровни (от стажёра до топ-менеджера) и форматы занятости. Основной источник вакансий для большинства кандидатов.
Когда использовать: Всегда начинай с hh.ru, если кандидат не указал другую платформу. hh.ru покрывает ~70% российского рынка вакансий.
Установка browser-use
Для работы этого навыка необходим browser-use.
Если browser-use не установлен — активируй навык browser-use и следуй его инструкциям. Он автоматически установит Python, pip и browser-use для твоей платформы.
Пока идёт установка, скажи: «Настраиваю поиск, это займёт пару минут...» НЕ показывай пользователю команды, ошибки или технические детали.
Quick Start
browser-use --headed open "https://hh.ru/search/vacancy?text=Python+Developer&area=1&schedule=remote&order_by=publication_date"
browser-use state
URL Structure for Direct Navigation (RECOMMENDED)
Прямая навигация по URL — самый надёжный способ автоматизации. Не нужно заполнять формы, достаточно собрать URL с нужными параметрами.
Базовый URL: https://hh.ru/search/vacancy?
Параметры поиска
| Parameter | Description | Values | Example |
|---|---|---|---|
text | Поисковый запрос | URL-encoded string | Python+Developer, Product+Manager, Аналитик |
area | Регион | ID региона (см. таблицу ниже) | 1 |
salary | Минимальная зарплата | Integer (RUB) | 200000 |
experience | Опыт работы | doesNotMatter, none, between1And3, between3And6, moreThan6 | between3And6 |
employment | Тип занятости | full, part, project, volunteer | full |
schedule | График работы | fullDay, shift, flexible, remote, flyInFlyOut | remote |
order_by | Сортировка | relevance, publication_date, salary_desc, salary_asc | publication_date |
search_field | Где искать | name (в названии), company_name (в компании), description (в описании) | name |
page | Страница (с 0) | Integer | 0 |
items_on_page | Результатов на странице | Integer (макс. 100) | 50 |
clusters | Показать фильтры | true | true |
enable_snippets | Сниппеты в описании | true | true |
only_with_salary | Только с указанной зарплатой | true | true |
Популярные регионы (area)
| ID | Регион |
|---|---|
| 1 | Москва |
| 2 | Санкт-Петербург |
| 4 | Новосибирск |
| 5 | Екатеринбург |
| 40 | Казань |
| 54 | Красноярск |
| 56 | Нижний Новгород |
| 66 | Ростов-на-Дону |
| 99 | Краснодар |
| 104 | Самара |
| 115 | Удалённая работа |
| 113 | Россия (все регионы) |
Примеры URL
Удалённый Python-разработчик, последние вакансии:
https://hh.ru/search/vacancy?text=Python+Developer&schedule=remote&order_by=publication_date
Senior Product Manager в Москве, по убыванию зарплаты:
https://hh.ru/search/vacancy?text=Product+Manager&area=1&experience=moreThan6&order_by=salary_desc&only_with_salary=true
Junior аналитик в СПб, опыт 1-3 года:
https://hh.ru/search/vacancy?text=Аналитик&area=2&experience=between1And3&order_by=publication_date
DevOps удалённо, от 250 000 ₽:
https://hh.ru/search/vacancy?text=DevOps&schedule=remote&salary=250000&only_with_salary=true
Проектная работа дизайнер, все регионы:
https://hh.ru/search/vacancy?text=UI+UX+дизайнер&employment=project&area=113&order_by=publication_date
Step-by-Step Search Flow (Form-based)
Альтернатива прямой навигации — заполнение формы на сайте. Менее надёжный, но иногда полезный метод.
Step 1: Open Search Page
browser-use --headed open https://hh.ru/search/vacancy
Step 2: Close Cookie Banner
browser-use state
# If cookie banner is present:
browser-use click "Принять"
# or
browser-use click "Согласен"
Step 3: Enter Search Query
browser-use click "text=Название вакансии или компания"
browser-use type "Python Developer"
Step 4: Set Region
browser-use click "text=Регион"
browser-use type "Москва"
browser-use click "text=Москва"
Для удалённой работы:
browser-use click "text=Удалённая работа"
Step 5: Set Filters
# Experience level
browser-use click "text=Опыт работы"
browser-use click "text=3-6 лет"
# Salary
browser-use click "text=Зарплата"
browser-use type "200000"
Step 6: Submit Search
browser-use click "text=Найти"
Step 7: Read Results
browser-use state
Result Extraction
Когда выполняешь browser-use state на странице результатов, ищи карточки вакансий. Каждая содержит:
| Field | Description | Example |
|---|---|---|
| Title | Название вакансии | "Senior Python Developer" |
| Company | Компания | "Яндекс" |
| Salary | Зарплатная вилка | "250 000 — 350 000 руб." или "от 200 000 руб." |
| Location | Город / удалённо | "Москва, удаленно" |
| Date | Дата публикации | "сегодня", "вчера", "2 июня" |
| Link | URL вакансии | /vacancy/123456789 |
| Experience | Требуемый опыт | "3-6 лет" |
| Schedule | График | "Полный день", "Удаленная работа" |
Важно: CSS-классы на hh.ru используют хешированные имена (типа .vacancy-card--z_UXsNoYj2N37VM7JOcV), которые меняются с каждым деплоем. Не полагайся на конкретные селекторы — используй текстовое содержимое и структуру страницы.
Vacancy Detail Page
Чтобы открыть конкретную вакансию и получить полную информацию:
browser-use --headed open "https://hh.ru/vacancy/123456789"
browser-use state
На странице вакансии извлеки:
| Section | What to extract |
|---|---|
| Описание | Полный текст описания вакансии, требования, задачи |
| Требования | Обязательные и желательные навыки |
| Условия | Зарплата, бонусы, формат работы |
| Компания | Название, описание, ссылка на страницу компании |
| Ключевые навыки | Список тегов навыков |
| Адрес | Офис (если не удалёнка) |
Application Flow (Отклик)
Step 1: Check Login Status
browser-use state
Ищи элементы профиля или кнопку входа. Если видишь «Войти» — кандидат не авторизован.
ВАЖНО: Никогда не вводи логин и пароль за кандидата. Если кандидат не залогинен:
- Скажи: «Для отклика нужно войти в аккаунт hh.ru. Пожалуйста, войди в браузере, который я открыл, и скажи, когда будешь готов.»
- Дождись подтверждения от кандидата
- Продолжи после его входа
Step 2: Open Vacancy
browser-use --headed open "https://hh.ru/vacancy/123456789"
browser-use state
Step 3: Click Apply Button
browser-use click "text=Откликнуться"
Если кнопка «Откликнуться» не видна — возможно:
- Кандидат не залогинен (вернись к Step 1)
- Кандидат уже откликался на эту вакансию
- Вакансия закрыта
Step 4: Write Cover Letter
После нажатия «Откликнуться» откроется форма с полем для сопроводительного письма.
browser-use state
# Найди поле для cover letter
browser-use click "text=Написать сопроводительное письмо"
Используй навык job-application для генерации персонализированного сопроводительного письма. Правила:
- 2-3 абзаца, 150-200 слов
- Упомяни конкретную роль и компанию
- Привяжи опыт кандидата к требованиям вакансии
- Не используй шаблонные фразы
browser-use type "Здравствуйте, ..."
Лимит: hh.ru принимает до ~5000 символов в сопроводительном письме. Держись в пределах 1500-3000 символов.
Step 5: Submit Application
browser-use click "text=Отправить"
Step 6: Confirm Success
browser-use state
Ищи подтверждение: «Отклик отправлен» или зелёную галочку. Сообщи кандидату об успешном отклике.
Company Research
Страница компании на hh.ru содержит ценную информацию для подготовки к интервью:
browser-use --headed open "https://hh.ru/employer/12345"
browser-use state
Извлеки:
- Описание компании
- Количество сотрудников
- Отзывы сотрудников (раздел «Отзывы»)
- Рейтинг компании
- Открытые вакансии (сколько и какие)
- Последние новости компании
Salary Analytics
hh.ru имеет встроенный инструмент зарплатной статистики:
browser-use --headed open "https://hh.ru/salary"
Или используй фильтр only_with_salary=true для поиска вакансий с указанной зарплатой и анализа вилок.
Similar Vacancies
После просмотра вакансии, внизу страницы есть блок «Похожие вакансии» — хороший источник дополнительных вариантов для кандидата.
Pros & Cons
Pros:
- Крупнейшая база вакансий в России (~70% рынка)
- Подробные фильтры (регион, опыт, зарплата, график, тип занятости)
- Зарплатные вилки видны во многих вакансиях
- Отзывы о компаниях от сотрудников
- Связанные и похожие вакансии
- Удобный отклик с сопроводительным письмом
Cons:
- CSS-классы хешированные — меняются с деплоями
- CAPTCHA может появиться при частых запросах
- Не все вакансии содержат зарплатную вилку
- Для отклика требуется авторизация
- Некоторые компании публикуют «вакуумные» вакансии (для HR-метрик)
Troubleshooting
| Issue | Solution |
|---|---|
| CAPTCHA на странице поиска | Подожди 30-60 секунд, обнови страницу. Используй --headed режим, чтобы кандидат мог пройти CAPTCHA вручную |
| Результаты не загружаются | Проверь cookie-баннер — закрой его. Проверь browser-use state на наличие ошибки |
| Кнопка «Откликнуться» не видна | Кандидат не залогинен — попроси его войти вручную |
| Пустые результаты | Упрости запрос: убери зарплатный фильтр, расширь регион, попробуй другие ключевые слова |
| Вакансия закрыта | «Вакансия снята с публикации» — переходи к следующей |
| Модальное окно перекрывает контент | Нажми Escape или кликни вне модала: browser-use press Escape |
| Медленная загрузка страницы | hh.ru тяжёлый SPA — подожди 3-5 сек после навигации |
| Лимит откликов | hh.ru не ограничивает отклики, но некоторые работодатели могут отклонять без сопроводительного |
| Некорректные символы в URL | Кодируй кириллицу через URL encoding: Аналитик → %D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D1%82%D0%B8%D0%BA |
| Дублируются вакансии | Используй search_field=name для более точного поиска |