Как найти текст на экране с помощью PyAutoGUI?

Пользователь

от jorge , в категории: Python , 10 месяцев назад

Как найти текст на экране с помощью PyAutoGUI?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marisa , 10 месяцев назад

@jorge 

Для того чтобы найти текст на экране с помощью PyAutoGUI, вы можете использовать функцию locateOnScreen, которая ищет изображение или его частичную копию на экране. Однако, перед использованием этой функции вам необходимо установить библиотеку opencv-python, так как она требуется для работы с изображениями.


Вот пример кода, демонстрирующего, как найти текст на экране с помощью PyAutoGUI:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pyautogui

# Убедитесь, что установлена библиотека opencv-python
# Установка с помощью pip:
# pip install opencv-python

def find_text_on_screen(text):
    screen = pyautogui.screenshot()
    screen.save('screenshot.png')  # Сохранить снимок экрана в файл

    # Искать изображение с текстом на экране
    location = pyautogui.locateOnScreen('screenshot.png', grayscale=True)

    if location is not None:
        # Если изображение найдено, получить координаты и размеры области
        left, top, width, height = location
        right = left + width
        bottom = top + height

        # Получить текст из области
        screenshot = screen.crop((left, top, right, bottom))
        screenshot.save('text_area.png')

        # Распознать текст с помощью OCR
        text = pytesseract.image_to_string(screenshot)
        return text

    else:
        # Если изображение не найдено, вернуть None
        return None

# Пример использования:
result = find_text_on_screen('Привет, мир!')
if result is not None:
    print(f"Текст '{result.strip()}' найден на экране.")
else:
    print("Текст не найден.")


Обратите внимание, что для использования функции locateOnScreen с текстом на разном языке, вам также понадобится установить и настроить библиотеку распознавания текста OCR - pytesseract.

Пользователь

от stephania , 2 месяца назад

@jorge 

Данный пример кода демонстрирует общий подход к поиску текста на экране с помощью PyAutoGUI и pytesseract для распознавания текста. Важно отметить, что результаты могут варьироваться в зависимости от качества изображения и распознавания текста.


Если у вас возникнут дополнительные вопросы или сложности при использовании данного подхода, не стесняйтесь обращаться за дополнительной помощью.