Как скопировать выделенный текст с помощью python

Рейтинг: 0Ответов: 1Опубликовано: 03.07.2023

Пишу программу на python, суть которой в том что она выделяет текст мышкой двигаясь по координатам и копирует его, для копирования использовал и pag и keyboard, ничего в итоге не помогло, в консоль передается то что у меня в буфере обмена, а вместо выделения уменьшается громкость звука, пробовал ставить time.sleepы но они тоже не помогают тест проводится на windows 11 и windows 10

def mouse_movier_to_text_and_copy(filtered_data, x, y):
            all_text = []
            for i in filtered_data:
                mouse.move(x, y, absolute=True)
                mouse.move(*i, absolute=False)
                mouse.double_click("left")
                mouse.click("left")
                keyboard.press_and_release("ctrl+a")
                keyboard.press_and_release("ctrl+c")
                # pyautogui.hotkey("ctrl", "A")
                # pyautogui.hotkey("ctrl", "c")
                time.sleep(0.1)
                clipboard_content = pyperclip.paste()
                if clipboard_content not in all_text:
                    all_text.append(clipboard_content)
        
            return all_text
    `
    # For test
    import clipboard
    import mouse
    import keyboard
    import pyautogui
    mouse.move(x,y)
    #your coordinates
    mouse.click("left")
    mouse.doubleclick("left")
    keyboard.press_and_release("ctrl+a")         
    keyboard.press_and_release("ctrl+c")
    # pyautogui.hotkey("ctrl", "A")
    # pyautogui.hotkey("ctrl", "c")
    time.sleep(0.1)
    clipboard_content = pyperclip.paste()
        if clipboard_content not in all_text:
            all_text.append(clipboard_content)
    print(all_text)

Ответы

▲ 0

Так как вы не уточнили какую необходимо использовать библиотеку, я приведу пример на pyautogui. Что бы послать сочетание клавиш Ctrl + C вам необходимо использовать функцию hotkey():

import pyautogui

# Отправка Ctrl+C
pyautogui.hotkey('ctrl', 'c')