#python #unicode #rpa
#python #юникод #rpa
Вопрос:
При использовании пакета 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 æ ø å
вводу в него текста.
æøå
Символы не вводятся, хотя пробелы есть.
когда я смотрю на определение функции 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)
Может ли это быть проблемой с раскладкой клавиатуры?
В описании функции указано, что можно использовать только символьные ключи, но здесь, в Дании, указанные символы являются такими ключами
———РЕДАКТИРОВАТЬ———
Я понял, что проблема в 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 æ ø å')