Вопрос бот для маркетплейса фб

  • Автор темы Bebras
  • Дата начала
  • Ответы 1
  • Просмотры 295
Вопрос
Bebras

Bebras

Регистрация
22 Апр 2025
Сообщения
1
Реакции
0
Бот пишет сообщение продавцу но не может кликнуть по кнопке отправить сообщение
 
Братик приветик, насколько я знаю, самая больная часть это автоматизация Facebook Marketplace — ФБ в последнее время жёстко ограничивает любые действия с DOM-элементами, особенно кнопки типа:

🔘 "Отправить сообщение" / "Send Message"

Почему бот не может нажать кнопку:​

  • Кнопка отрисовывается JavaScript’ом и не всегда доступна в DOM
    → Бот может “видеть” её в коде, но при попытке нажать — ничего не происходит.
  • Facebook рандомизирует id и class кнопок
    → каждый запуск страницы — новая структура. Простая автоматизация по селекторам ломается.
  • ФБ встраивает антибот-проверки (invisible reCAPTCHA + event listeners)
    → эмуляция нажатия через element.click() может не триггерить событие
  • Если кнопка становится активной только после выбора товара или продавца, бот может не пройти "предусловие" (например, прокрутка или фокус на блок)

НУ и далее я обратился в ГПТ:

1. Использовать Puppeteer/Playwright с реальными пользовательскими событиями

  • Вместо element.click() — использовать:
JavaScript:
await page.mouse.move(x, y)
await page.mouse.down()
await page.mouse.up()

Или page.click(selector, {delay: 100}) — так имитируется человеческое поведение

2. Дождаться полной отрисовки кнопки:
JavaScript:
await page.waitForSelector('button[aria-label="Send"]', { visible: true })
await page.click('button[aria-label="Send"]')
⚠️ Пример для англоязычного интерфейса — у тебя может быть другой label.

3. Проверить, не в iFrame ли кнопка​

  • Если она внутри iframe, нужно сначала переключиться на него:
JavaScript:
const frame = page.frames().find(f => f.url().includes('facebook.com'));
await frame.click('selector');

4. Альтернатива — симулировать Enter вместо клика
Если кнопка активна, но не кликается, часто помогает просто:

JavaScript:
await page.keyboard.press('Enter')

💡 Идея в обход:​

Вместо того чтобы искать и нажимать кнопку, можешь попробовать:
  • Найти ссылку на продавца → перейти на его профиль → нажать "Message" там (чаще работает)
  • Или собрать seller-id и написать напрямую через Войдите на Facebook<seller_id>
Удачи братик!)
 

Похожие темы

Назад
Верх
Главная Поиск Блог Обучение Партнёрки Инструменты