2016-02-23 4 views
2

J'ai un problème, qui consiste à suivre: Pyautogui typewrite ne tapera pas de lettres, seulement des chiffres. Par exemple, lorsque j'exécuteSymboles manquants dans la machine à écrire Pyautogui

pyautogui.typewrite("abc123") 

apparaît seulement "123". Cette question est similaire à celle-ci: Pyautogui typewrite is writing only numbers Malheureusement, il n'y a pas de réponses à ce problème, ainsi que d'autres sujets sur Internet. J'ai la machine Windows 7 et Python 3.5.

+0

Python 3.5 ici (mais Win 10, si c'est pertinent). Je n'ai pas ce problème et j'utilise pyautogui 0.9.33. Est-ce que le vôtre est peut-être une version antérieure avec un bug? bien qu'il ne semble pas apparaître sur leurs [issues] (https://github.com/asweigart/pyautogui/issues) ... – gil

Répondre

1

Il semble y avoir un bug dans la fonction de typewriter de PyAutoGui. Je contourne avec cette fonction qui prétraite la chaîne en keypresses à la place. Notez que cette version de la fonction laisse une virgule à la fin du tableau de sortie afin que vous puissiez facilement ajouter plus de caractères ou de boutons à la fin.

def preprocess(something): 
    something = str(something) 
    output = [] 
    for x in range(len(something)): 
     output.append(something[x]) 
     output.append(',') 
    return output 
0

J'ai rencontré le même problème. Je n'étais pas en mesure d'envoyer des lettres à l'aide de dactylographier() function.This bug dans PyAutoGUI peut être surmonté en installant OpenCV 3.1.0

Télécharger OpenCV 3.1.0 ci-dessous du site:

1) https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.1.0/opencv- 3.1.0 .exe/télécharger

2) Extraire le OpenCV -> Ensuite, allez à OpenCV \ build \ python \ 2.7 \ x64 et copier cv2.pyd C: \ Python27 \ Lib \ site-packages

et votre problème sera résolu. Essayez-le, cela a fonctionné pour moi