2015-11-23 3 views
3

Я пытаюсь вывести emoji в Telegram автоматически используя библиотеку python pyautogui, но, тем не менее, мне было невозможно просто typewrite. Я искал библиотеки, чтобы помочь мне решить мою проблему, и я нашел pyemojify и emoji, но в обоих случаях я столкнулсяВывод emoji в python

UnicodeEncodeError: 'charmap' codec can't encode characters: character maps to <undefined> 

и код:

from pyemojify import emojify 
print(emojify("Life is short :smile: , use :sparkles: Python :sparkles:")) 

и это:

import emoji 
print(emoji.emojize('Python is :thumbs_up_sign:')) 

Я много искал здесь, но ни один из ответов, наконец, не работал для меня. Теперь у меня есть два вопроса: есть ли способ вывода emoji в Telegram с использованием python pyautogui или даже с использованием java Robot класса? и второй вопрос: как я должен исправить UnicodeEncodeError в моем коде? Заранее спасибо :)

+0

Полное отслеживание было бы полезно узнать, где именно происходит ошибка. –

+0

И если это происходит из 'print', это означает, что ваш' stdout' не настроен для поддержки полного набора символов Unicode. Попробуйте напечатать 'sys.stdout.encoding'. –

+0

Он выводит 'windows-1252' как я могу манипулировать' stdout' для поддержки полного набора символов Unicode? Я запускаю python 3.4 на моем компьютере x64 windows 8.1. Я уже видел [здесь] (https://stackoverflow.com/questions/4374455/how-to-set-sys-stdout-encoding-in-python-3), но он вообще не работал. @MarkRansom – szamani20

ответ

0
from selenium import webdriver 

b = webdriver.Firefox() 
b.get('https://web.telegram.org') 
.... 
.... 
b.find_elements_by_class_name('composer_rich_textarea')[0].send_keys('\U0001F422') 
print('\U0001F422'.encode('utf-8'))