用pyautogui输入unicode字符串

时间:2015-10-15 14:56:42

标签: unicode pyautogui

我正在使用pyautogui lib创建一个自动测试应用。我想使用typewrite方法将文本输入表单。但是我的一些输入字符串中包含unicode字符。例如:

  

Næst

根据文档typewrite,只能按单字符键。所以它只是忽略æ字符。

您能建议一些简单的解决方法吗?

3 个答案:

答案 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上运行