2015-10-15 117 views
2

我正在用pyautogui lib創建一個自動測試應用程序。我想用typewrite方法將文本輸入到表單中。但是我的一些輸入字符串中有unicode字符。例如:用pyautogui輸入unicode字符串

Næst

根據文檔typewrite只能按單字符鍵。所以它只是忽略æ角色。

你能提供一些簡單的解決方法嗎?

回答

1

找到一個很簡單的。

在Mac和Linux中,可以使用十六進制代碼輸入unicode字符。關於那個有article on wikipedia。我寫我的程序適用於Mac,所以我支持Unicode十六進制輸入在我的鍵盤設置,並寫了這個代碼:

def type_unicode(word): 
    for c in word: 
     c = '%04x' % ord(c) 
     pyautogui.keyDown('optionleft') 
     pyautogui.typewrite(c) 
     pyautogui.keyUp('optionleft') 
3

我知道這個線程是老了,但話題的緣故,我設法得到解決它以更簡單的方式使用pyperclip。

而不是試圖讓pyautogui鍵入帶有特殊字符的單詞,使用回形針將其複製,然後讓pyautogui按「Ctrl + v」。

例如:

import pyautogui 
import pyperclip 

pyperclip.copy("ãêíØ") 
pyautogui.hotkey("ctrl", "v") 
+0

在Max OS X,我不得不貼線改變爲'pyautogui.hotkey( 「命令」, 「V」)' – karlo