2016-02-08 4 views
0

Я попытался сделать тест нажатия кнопки, и каждый раз, когда я это делаю, он терпит неудачу. Всегда есть место, где есть два (или более) строчных буквы рядом друг с другом или два верхних регистра. Почему это?Python win32com SendKeys fail

import win32com.client 

shell = win32com.client.Dispatch("WScript.Shell") 
shell.Run("notepad") 
shell.AppActivate("Notepad") 


def a(): 
    shell.SendKeys("{a}", 0) 


def A(): 
    shell.SendKeys("{A}", 0) 


def b(): 
    shell.SendKeys("{b}", 0) 


def B(): 
    shell.SendKeys("{B}", 0) 


def c(): 
    shell.SendKeys("{c}", 0) 


def C(): 
    shell.SendKeys("{C}", 0) 


def d(): 
    shell.SendKeys("{d}", 0) 


def D(): 
    shell.SendKeys("{D}", 0) 


def e(): 
    shell.SendKeys("{e}", 0) 


def E(): 
    shell.SendKeys("{E}", 0) 


def f(): 
    shell.SendKeys("{f}", 0) 


def F(): 
    shell.SendKeys("{F}", 0) 


def g(): 
    shell.SendKeys("{g}", 0) 


def G(): 
    shell.SendKeys("{G}", 0) 


def h(): 
    shell.SendKeys("{h}", 0) 


def H(): 
    shell.SendKeys("{H}", 0) 


def i(): 
    shell.SendKeys("{i}", 0) 


def I(): 
    shell.SendKeys("{I}", 0) 


def j(): 
    shell.SendKeys("{j}", 0) 


def J(): 
    shell.SendKeys("{J}", 0) 


def k(): 
    shell.SendKeys("{k}", 0) 


def K(): 
    shell.SendKeys("{K}", 0) 


def l(): 
    shell.SendKeys("{l}", 0) 


def L(): 
    shell.SendKeys("{L}", 0) 


def m(): 
    shell.SendKeys("{m}", 0) 


def M(): 
    shell.SendKeys("{M}", 0) 


def n(): 
    shell.SendKeys("{n}", 0) 


def N(): 
    shell.SendKeys("{N}", 0) 


def o(): 
    shell.SendKeys("{o}", 0) 


def O(): 
    shell.SendKeys("{O}", 0) 


def p(): 
    shell.SendKeys("{p}", 0) 


def P(): 
    shell.SendKeys("{P}", 0) 


def q(): 
    shell.SendKeys("{q}", 0) 


def Q(): 
    shell.SendKeys("{Q}", 0) 


def r(): 
    shell.SendKeys("{r}", 0) 


def R(): 
    shell.SendKeys("{R}", 0) 


def s(): 
    shell.SendKeys("{s}", 0) 


def S(): 
    shell.SendKeys("{S}", 0) 


def t(): 
    shell.SendKeys("{t}", 0) 


def T(): 
    shell.SendKeys("{T}", 0) 


def u(): 
    shell.SendKeys("{u}", 0) 


def U(): 
    shell.SendKeys("{U}", 0) 


def w(): 
    shell.SendKeys("{w}", 0) 


def W(): 
    shell.SendKeys("{W}", 0) 


def x(): 
    shell.SendKeys("{x}", 0) 


def X(): 
    shell.SendKeys("{X}", 0) 


def y(): 
    shell.SendKeys("{y}", 0) 


def Y(): 
    shell.SendKeys("{Y}", 0) 


def z(): 
    shell.SendKeys("{z}", 0) 


def Z(): 
    shell.SendKeys("{Z}", 0) 


def enter(): 
    shell.SendKeys("{ENTER}", 0) 

a(), A(), b(), B(), c(), C(), d(), D(), e(), E(), f(), F(), g(), G(), h(), H(), i(), I(), j(), J(), k(), K(), 
l(), L(), m(), M(), n(), N(), o(), O(), p(), P(), q(), Q(), r(), R(), s(), S(), t(), T(), u(), U(), w(), W(), 
x(), X(), y(), Y(), z(), Z(), enter(), 

Ожидаемые результаты: "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUwWxXyYzZ"

ответ

0

Добавление time.sleep (0.03) и выше после того, как каждое нажатие фиксирует проблему. Все еще не знаю, почему Блокнот не правильно интерпретирует ключи.

Смежные вопросы