我正在使用pyautogui
lib创建一个自动测试应用。我想使用typewrite
方法将文本输入表单。但是我的一些输入字符串中包含unicode字符。例如:
Næst
根据文档typewrite
,只能按单字符键。所以它只是忽略æ
字符。
您能建议一些简单的解决方法吗?
答案 0 :(得分:8)
我知道这个帖子已经老了,但是为了这个话题,我设法在我看来更容易使用pyperclip来解决它。
不是试图让pyautogui键入特殊字符,而是使用pyperclip将它们复制到剪贴板,然后使用pyautogui粘贴它们。例如在Windows上:
import pyautogui
import pyperclip
pyperclip.copy("ãêíØ")
pyautogui.hotkey("ctrl", "v")
答案 1 :(得分:1)
找到一个非常简单的。
在Mac和Linux中,有机会使用十六进制代码输入unicode字符。关于这一点有article on wikipedia。我正在为Mac编写程序,所以我在键盘设置中启用了Unicode Hex Input并编写了这段代码:
def type_unicode(word):
for c in word:
c = '%04x' % ord(c)
pyautogui.keyDown('optionleft')
pyautogui.typewrite(c)
pyautogui.keyUp('optionleft')
答案 2 :(得分:0)
我尝试了trestlnord的答案,但是没有用。我对此进行了修改:
5.6.4
可在Arch Linux上运行