@ksiim

Как выйти из бесконечного цикла в state, получив новое сообщение aiogram selenium?

Мне нужен бесконечный цикл, который обновляет страницу и проверяет date. Так же мне нужно, чтобы этот бесконечный цикл прерывался, если сообщение = отмена. через отдельный хендлер не работает, т.к. открыт браузер и цикл

async def checker_start(msg: types.Message, state: FSMContext):
    if msg.text.title() == 'Да':
        parser = AvitoParcer()
        await FSMAd.ad.set()
        while True:
            parser.update_page()
            date = parser.get_time()
            if date == '1 минуту назад' or date == 'Несколько секунд назад' or date == '2 минуты назад':
                date = parser.get_time()
                name = parser.get_name()
                desc = parser.get_desc()
                image_url = parser.get_image_url()
                url = parser.get_url()
                price = parser.get_price()
                await bot.send_photo(
                    msg.from_user.id,
                    caption=f'Найдено новое объявление. Выложено:{date}\n'
                            f'{name}\n'
                            f'{desc}\n'
                            f'{price}\n'
                            f'ссылка - {url}', photo=f'{image_url}')
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ответы на вопрос 1
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
Чтобы выйти из бесконечного цикла в состоянии (state) при получении нового сообщения с помощью aiogram и selenium, вам нужно установить условие выхода из цикла в теле цикла. Например, это может быть условие, которое срабатывает, когда получено нужное сообщение или когда определенное время истекло. Когда это условие сработает, вы можете использовать оператор break для выхода из цикла.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы