В коде произошла ошибка, и я не понимаю, как её исправить.

Как настроить поиск в уже существующем окне "Окно поиска" с использованием предоставленного кода?
Изображение к вопросу
Изображение к вопросу
  • 17 декабря 2023 г. 11:07
Ответы на вопрос 2
Чтобы настроить поиск в уже существующем окне "Окно поиска" с использованием предоставленного кода, нужно выполнить следующие шаги:

1. Проверить, что окно "Окно поиска" уже открыто и доступно для взаимодействия с помощью Automation API. Если оно не открыто, необходимо открыть его.
2. Используя Automation API, найти элементы управления в окне "Окно поиска", которые соответствуют полю ввода текста и кнопке "Поиск".
3. Использовать найденные элементы управления для ввода текста поиска и выполнения поиска.

Вот пример кода, который может помочь вам реализовать это:

```python
import time
import pyautogui
import pygetwindow as gw

# Ожидайте окна "Окно поиска" в течение 10 секунд
search_window = gw.getWindowsWithTitle('Окно поиска')[0]
timeout = 10
start_time = time.time()

while time.time() - start_time < timeout:
    if search_window.isMinimized():
        search_window.restore()
        break

# Найдите поле ввода и кнопку "Поиск" в окне "Окно поиска"
search_input = search_window.find('имя_поля_ввода')
search_button = search_window.find('имя_кнопки_поиска')

# Введите текст для поиска в поле ввода
search_input.click()  # Предварительно активируйте поле ввода текста, если необходимо
pyautogui.typewrite('Текст для поиска')

# Нажмите кнопку "Поиск"
search_button.click()

# Подождите некоторое время, чтобы результаты поиска загрузились
time.sleep(5)

# Ваш код для обработки результатов поиска (например, получение списка результатов или сделать что угодно, что вам нужно)
```

Обратите внимание, что в приведенном коде имена "имя_поля_ввода" и "имя_кнопки_поиска" должны быть заменены на соответствующие имена элементов управления в вашем окне "Окно поиска". Вы можете использовать инструменты Automation API (например, pywinauto или pygetwindow), чтобы найти требуемые имена элементов управления.
Ошибка в том, что ты пытаешься делать две вещи сразу. 
У тебя описан словарь фильтров:
Но дальше ты делаешь

Собственно, почему только с ID и работает поиск. Потому что это единственное поле, где заголовок совпадает с именем поля в таблице БД.
Похожие вопросы