Python Automagica Unicode Text - PullRequest
       8

Python Automagica Unicode Text

1 голос
/ 12 апреля 2019

При использовании пакета Automagica для автоматизации процессов с использованием Python я столкнулся с неожиданной проблемой.

Я не могу набирать символы Юникода с помощью этого инструмента.

from automagica import *

PressHotkey('win','r')
Wait(seconds=1)
Type(text='notepad', interval_seconds=0)
PressKey('enter')
Wait(seconds=2)
Type(text='Hello æ ø å ', interval_seconds=0)

Должно привести к открытию блокнота и вводу текста Hello æ ø å.

enter image description here

Символы æøå не набраны, хотя пробелы.

когда я смотрю в определение для функции Type я получаю

def Type(text=None, interval_seconds=0.001):
    '''
    Type text in the current active field. The first argument represent the text and is entered as a string. 
    The second variable is the time between two keystrokes. Pay attention that you can only press single 
    character keys. Keys like ":", "F1",... can not be part of the text argument.
    '''
    from pyautogui import typewrite
    # Set keyboard layout for Windows platform
    if platform.system() == 'Windows':
        from win32api import LoadKeyboardLayout
        LoadKeyboardLayout('00000409', 1)
    return typewrite(text, interval=interval_seconds)

Может ли быть проблема с раскладкой клавиатуры? В описании функции указано, что можно использовать только символьные клавиши, но здесь, в Дании, указанные клавиши являются такими клавишами

--------- --------- EDIT

Я понял, что проблема в pyautogui, который не поддерживает специальные символы

это мое решение

from automagica import *

def type_unicode(text):
    import pyautogui
    import pyperclip
    pyperclip.copy(text)
    pyautogui.hotkey("ctrl", "v")

PressHotkey('win','r')
Wait(seconds=1)
Type(text='notepad', interval_seconds=0)
PressKey('enter')
Wait(seconds=2)
type_unicode('Hello æ ø å')
...