我的Sikuli腳本使用Python模塊記錄所有操作日誌記錄。當我嘗試將輸入的鍵常量寫入日誌時,會發生問題。作爲一個例子,我用打印功能,因爲它需要一個字符串太:打印(書寫)Sikuli鍵常量
print((Key.ALT).encode('utf-8'))#exception not thrown but nothing readable is printed
print(Key.ALT) #UnicodeEncodeError: 'ascii' codec can't encode character u'\ue022' in position 0: ordinal not in range(128)
當然,我可以一個變量比較所有可能的密鑰contants:
myKey = Key.ALT
if(myKey==Key.CTRL):
print('ctrl pressed')
elif(myKey==Key.ALT):
print('alt pressed')
#etc…
但這不是最有效的方法我猜。我還可以做一些其他的解決方法是這樣的:
print(「Key.ALT pressed」)
keyDown(Key.ALT)
但我想找到一種方法,Key.CONSTANT轉化爲一個可(寫入)格式,這樣我的「打字」 功能只需要1個參數(只有用於鍵入和記錄的鍵常量)。可能嗎?
該標誌是根本就沒有UTF-8 http://www.charbase.com/e022-unicode-invalid-character見諸報端,這就是爲什麼你不」沒有看到日誌中的任何內容。你有沒有試過不同的鑰匙,並檢查你得到了什麼? – pypat
是的,我知道它是不可打印的。這就是我問這個問題的原因。有沒有辦法將Sikuli Key.CONSTANT轉換爲可打印的格式,例如「Key.ALT」? –