Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2024, 00:03   #1
gimes
Пользователь
 
Регистрация: 17.01.2022
Сообщений: 59
Восклицание Как обрабатывать при парсинге неожиданно всплывшие незнакомые окна?

Когда появилось окно, то как не перезапуская парсер, если он уже какое-то продолжительное время работает, как обработать это окно, чтобы код для него применился в программе и запомнился для следующего окна с подобным CSS?
gimes вне форума Ответить с цитированием
Старый 13.07.2024, 03:17   #2
MakarovDs
Пользователь
 
Аватар для MakarovDs
 
Регистрация: 10.01.2020
Сообщений: 85
По умолчанию

Цитата:
Сообщение от gimes Посмотреть сообщение
Когда появилось окно, то как не перезапуская парсер, если он уже какое-то продолжительное время работает, как обработать это окно, чтобы код для него применился в программе и запомнился для следующего окна с подобным CSS?
Для обработки нового окна, появившегося во время работы парсера, можно использовать следующий подход:
  1. Отслеживание появления нового окна: Используйте функцию cv2.getWindowImageHandle() для поиска окна с указанным названием или CSS-классом. Если окно не найдено, значит оно еще не появилось.
  2. Обработка нового окна: После обнаружения нового окна, захватите его изображение с помощью cv2.grabWindowImage() и обработайте его своим кодом.
  3. Сохранение обработанных данных: Сохраните результаты обработки в базу данных, файл или другим удобным способом, чтобы они были доступны для дальнейшего использования.
  4. Обновление словаря классов CSS: Если обработка нового окна изменила словарь классов CSS, обновите его, чтобы код применился к следующим окнам с похожим CSS.

Пример кода, демонстрирующий этот подход:

Код:
import cv2

# Словарь классов CSS для обработки окон
css_classes = {}

while True:
    # Отслеживание появления нового окна
    new_window_handle = cv2.getWindowImageHandle('New Window')
    if new_window_handle is not None:
        # Обработка нового окна
        new_window_image = cv2.grabWindowImage(new_window_handle)
        processed_data = process_image(new_window_image)

        # Сохранение обработанных данных
        save_processed_data(processed_data)

        # Обновление словаря классов CSS
        update_css_classes(processed_data)

    # Парсинг продолжается...
Этот код будет отслеживать появление новых окон, обрабатывать их и обновлять словарь классов CSS по мере необходимости. Это позволит вашему парсеру адаптироваться к новым окнам без перезапуска.
MakarovDs вне форума Ответить с цитированием
Старый 13.07.2024, 08:31   #3
gimes
Пользователь
 
Регистрация: 17.01.2022
Сообщений: 59
По умолчанию

Благодарю
gimes вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа неожиданно завершилась NataPl Qt и кроссплатформенное программирование С/С++ 1 08.11.2013 14:34
Код неожиданно стал себя странно вести. KoBaL JavaScript, Ajax 4 04.08.2013 10:08
Проблема при парсинге grafgrial Общие вопросы Delphi 0 15.11.2011 23:12
Неожиданно перестал работать код kry Помощь студентам 5 12.01.2009 09:11
Могут ли обрабатывать нажатия клавиш окна, отличные от активного? Gorlum Общие вопросы Delphi 14 27.10.2007 17:28