Сообщение об ошибке:
keyboard.py ", строка 6, в keyboard.write (" GEEKS FOR GEEKS n ") AttributeError: module ' keyboard 'не имеет атрибута' write '. Нажмите любую клавишу, чтобы продолжить.
Я тоже пробовал обновить pip и переустановил модуль клавиатуры …
МОЙ КОД (источник: GEEKSFORGEEKS)
# Использование модуля клавиатуры в Pythonimport keyboard # Он записывает содержимое в outputkeyboard.write ("GEEKS FOR GEEKS n ") # Он записывает клавиши r, k и конец строкиkeyboard.press_and_release ('shift + r, shift + k, n') keyboard.press_and_release ('R, K') # он блокируется, пока не будет нажата ctrlkeyboard.wait ( 'Ctrl')
Если вы назвали скрипт, который вы выполняете, keyboard.py он будет конфликтовать с модулем, который вы пытаетесь импортировать. Попробуйте просто изменить имя скрипта, который вы пытаетесь запустить.
1
pywinauto.keyboard — документация по pywinauto 0.6.8
Ввод с клавиатуры модуль эмуляции
Автоматизируйте ввод клавиш или отдельные ключевые действия (а именно. нажмите и удерживайте, отпустите) в активное окно, вызвав метод
send_keys
.Вы можете использовать любые символы Юникода (в Windows) и некоторые специальные клавиши, перечисленные ниже. Модуль также доступен в Linux..
Доступные коды клавиш:
{SCROLLLOCK}, {VK_SPACE}, { VK_LSHIFT}, {VK_PAUSE}, {VK_MODECHANGE}, {BACK}, {VK_HOME}, {F23}, {F22}, {F21}, {F20}, {VK_HANGEUL}, {VK_KANJI}, {VK_RIGHT}, {} , {HOME}, {VK_F4}, {VK_ACCEPT}, {VK_F18}, {VK_SNAPSHOT}, {VK_PA1}, {VK_NONAME}, {VK_LCONTROL}, {ZOOM}, {VK_ATTN}, {VK_F10}}, {VK_F10}, {VK_F10}}, {VK_F10} VK_F23}, {VK_F20}, {VK_F21}, {VK_SCROLL}, {TAB}, {VK_F11}, {VK_END}, {LEFT}, {VK_UP}, {NUMLOCK}, {VK_APPS}, {PGUP}, {VK_F8} , {VK_CONTROL}, {VK_LEFT}, {PRTSC}, {VK_NUMPAD4}, {CAPSLOCK}, {VK_CONVERT}, {VK_PROCESSKEY}, {ENTER}, {VK_SEPARATOR}, {VK_RWIN}, {VK_LMENU}, {VK_LMENU}, {VK_LMENU}, {VK_LMENU} F1}, {F2}, {F3}, {F4}, {F5}, {F6}, {F7}, {F8}, {F9}, {VK_ADD}, {VK_RCONTROL}, {VK_RETURN}, {BREAK} , {VK_NUMPAD9}, {VK_NUMPAD8}, {RWIN}, {VK_KANA}, {PGDN}, {VK_NUMPAD3}, {DEL}, {VK_NUMPAD1}, {VK_NUMPAD0}, {VK_NUMPAD7}, {VK_NUMPAD6}, {VK_NUMPAD6}, {VK_NUMPAD6}, {VK_NUMPAD6} УДАЛИТЬ}, {VK_PRIOR}, {VK_SUBTRACT}, {HELP}, {VK_PRINT}, {VK_BACK}, {CAP}, {VK_RBUTTON}, {VK_RSHIFT}, {VK_LWIN}, {DOWN}, {VK_H ELP}, {VK_NONCONVERT}, {BACKSPACE}, {VK_SELECT}, {VK_TAB}, {VK_HANJA}, {VK_NUMPAD2}, {INSERT}, {VK_F9}, {VK_DECIMAL}, {VK_FINAL}, {VK_FINAL}}, {VK_FINAL} , {VK_F3}, {VK_F2}, {VK_F1}, {VK_F7}, {VK_F6}, {VK_F5}, {VK_CRSEL}, {VK_SHIFT}, {VK_EREOF}, {VK_CANCEL}, {VK_HUL}, {VK_DELETE}, {VK_DELET_DELETE} VK_MBUTTON}, {VK_NUMLOCK}, {VK_CLEAR}, {END}, {VK_MENU}, {SPACE}, {BKSP}, {VK_INSERT}, {F18}, {F19}, {ESC}, {VK_MULTIPLY}, {F12} , {F13}, {F10}, {F11}, {F16}, {F17}, {F14}, {F15}, {F24}, {RIGHT}, {VK_F24}, {VK_CAPITAL}, {VK_LBUTTON}, { VK_OEM_CLEAR}, {VK_ESCAPE}, {UP}, {VK_DIVIDE}, {INS}, {VK_JUNJA}, {VK_F19}, {VK_EXECUTE}, {VK_PLAY}, {VK_RMENU}, {VK_F13}}, {VK_RMENU}, {VK_F13}, {VK_F13}} , {VK_DOWN}, {VK_F17}, {VK_F16}, {VK_F15}, {VK_F14} ~ - это более короткий псевдоним для {ENTER}Модификаторы:
'+': {VK_SHIFT}
'^': {VK_CONTROL}
'%': {VK_MENU}
иначе клавиша AltПример использования модификаторов:
send_ke ys ('^ a ^ c') # выделить все (Ctrl + A) и скопировать в буфер обмена (Ctrl + C) send_keys ('+ {INS}') # вставить из буфера обмена (Shift + Ins) send_keys ('% {F4 } ') # закрыть активное окно с помощью Alt + F4Для специальных клавиш можно указать количество повторений.
{ENTER 2}
говорит, что дважды нажмите Enter..Пример, показывающий, как нажать и удерживать или отпускать клавишу на клавиатуре:
send_keys ("{VK_SHIFT down } "" pywinauto "" {VK_SHIFT up} ") # для ввода PYWINAUTOsend_keys (" {h down} "" {e down} "" {h up} "" {e up} "" llo ") # для ввода helloИспользуйте фигурные скобки для экранирования модификаторов и введите зарезервированные символы как отдельные ключи:
send_keys ('{^} a {^} c {%}') # введите строку "^ a ^ c%" (Ctrl не будет нажат) send_keys ('{{} ENTER {}}') # введите строку "{ENTER } "без нажатия клавиши EnterТолько для Windows pywinauto по умолчанию отправляет пакет виртуального ключа (VK_PACKET) для текстового ввода. Для приложений, которые не обрабатывают VK_PACKET должным образом, для параметра
vk_packet
может быть установлено значениеFalse
. В этом случае pywinauto попытается отправить виртуальный ключевой код запрошенного ключа. Этот параметр влияет только на поведение сопоставленных ключей [- = []; ’,./A-zA-Z0-9]. Обратите внимание, что прописные и строчные буквы включены для букв от a до z. Оба для удобства ссылаются на один и тот же виртуальный ключ.