【问题标题】:Pynput Key entering loop skipping enter commandsPynput 键进入循环跳过输入命令
【发布时间】:2021-09-02 17:53:13
【问题描述】:

我正在尝试编写一个使用 Pynput 自动键入货件详细信息的 python 脚本。出于某种原因,我的代码在第一次迭代中完美运行,但在以后的迭代中开始跳过输入命令。被调用的函数是:

def enter_order():
   print("STARTING IN 5...")
   time.sleep(1)
   print("4...")
   time.sleep(1)
   print("3...")
   time.sleep(1)
   print("2...")
   time.sleep(1)
   print("1...")
   time.sleep(1)
   for i in range(3):
      keyboard.type("DATE")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("FO")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("SHIPMENT")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("EDI")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("NRM")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("SEQUENCE")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("FW")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("AUTOTYPE")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      time.sleep(1)
      keyboard.type("CONSUMPTION")
      time.sleep(1)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)
      keyboard.press(Key.enter)
      keyboard.release(Key.enter)

我得到的输出如下所示:

DATE
FO
SHIPMENT
EDI
NRM
SEQUENCE
FW
AUTOTYPE
CONSUMPTION

DATEFO
SHIPMENTEDI
NRMSEQUENCE
FWAUTOTYPE
CONSUMPTION
DATEFOSHIPMENT
EDINRM
SEQUENCEFW
AUTOTYPECONSUMPTION

不确定我在哪里出错了,任何见解都将不胜感激。提前致谢。

【问题讨论】:

    标签: python pynput


    【解决方案1】:

    我无法重现该错误。我使用了与您在定义keyboard = Controller() 时添加的代码相同的代码,但我猜您可能会在代码中的其他位置执行此操作。

    import time
    from pynput.keyboard import Key, Controller
    
    def enter_order():
        print("STARTING IN 5...")
        time.sleep(1)
        print("4...")
        time.sleep(1)
        print("3...")
        time.sleep(1)
        print("2...")
        time.sleep(1)
        print("1...")
        time.sleep(1)
        keyboard = Controller()
        for i in range(3):
            keyboard.type("DATE")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("FO")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("SHIPMENT")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("EDI")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("NRM")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("SEQUENCE")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("FW")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("AUTOTYPE")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            time.sleep(1)
            keyboard.type("CONSUMPTION")
            time.sleep(1)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
            keyboard.press(Key.enter)
            keyboard.release(Key.enter)
    
    
    enter_order()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-24
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多