zoukankan      html  css  js  c++  java
  • python实战===python控制键盘鼠标:pynput

    Python控制键盘鼠标:pynput

    地址:https://pypi.python.org/pypi/pynput

    这个库让你可以控制和监控输入设备。

    对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:

    • pynput.mouse:包含控制和监控鼠标或者触摸板的类。

    • pynput.keyboard:包含控制和监控键盘的类。

    基本用法介绍:

    from  pynput.mouse import Button, Controller
    import time 
    
    mouse = Controller()
    print(mouse.position)
    time.sleep(3)
    print('The current pointer position is {0}'.format(mouse.position))
    
    
    #set pointer positon
    mouse.position = (277, 645)
    print('now we have moved it to {0}'.format(mouse.position))
    
    #鼠标移动(x,y)个距离
    mouse.move(5, -5)
    print(mouse.position)
    
    mouse.press(Button.left)
    mouse.release(Button.left)
    
    #Double click
    mouse.click(Button.left, 1)
    
    #scroll two  steps down
    mouse.scroll(0, 500)

    监控鼠标事件 :

    from pynput import mouse
    
    def on_move(x, y ):
        print('Pointer moved to {o}'.format(
            (x,y)))
    
    def on_click(x, y , button, pressed):
        print('{0} at {1}'.format('Pressed' if pressed else 'Released', (x, y)))
        if not pressed:
            return False
    
    def on_scroll(x, y ,dx, dy):
        print('scrolled {0} at {1}'.format(
            'down' if dy < 0 else 'up',
            (x, y)))
    
    while True:
        with mouse.Listener( no_move = on_move,on_click = on_click,on_scroll = on_scroll) as listener:
            listener.join()

    键盘输入用法:

    from pynput.keyboard import Key, Controller
    
    keyboard = Controller()
    
    #Press and release space
    keyboard.press(Key.space)
    keyboard.release(Key.space)
    
    #Type a lower case A ;this will work even if no key on the physical keyboard  is labelled 'A'
    keyboard.press('a')
    keyboard.release('a')
    
    #Type two  upper case As
    keyboard.press('A')
    keyboard.release('A')
    # or 
    with keyboard .pressed(Key.shift):
        keyboard.press('a')
        keyboard.release('a')
    
    #type 'hello world '  using the shortcut type  method
    keyboard.type('hello world')

    键盘监听:

    from pynput import keyboard
    
    def on_press(key):
        try:
            print('alphanumeric key  {0} pressed'.format(key.char))
        except AttributeError:
            print('special key {0} pressed'.format(key))
    
    def on_release(key):
        print('{0} released'.format(key))
        if key == keyboard.Key.esc:
            return False
    
    while True:
        with keyboard.Listener(
            on_press = on_press,
            on_release = on_release) as listener:
            listener.join()

    顺便提一下

    如果有任何问题,你可以在这里找到我 ,软件测试交流qq群,209092584

  • 相关阅读:
    Python中替换的三种方法
    深入浅出:分布式和集群--转自码农翻身微信公众号
    如何把GitHub中的开源项目导入到Eclipse
    Socket Tools的使用
    LoadRunner 测试Socket接口函数说明
    Apache Jemeter 开发插件
    netstat 查看连接数
    redis缓存机制【转载】
    内存溢出OOM
    transform-translate位移
  • 原文地址:https://www.cnblogs.com/botoo/p/8302531.html
Copyright © 2011-2022 走看看