• pynput Python控制键盘,假如你女朋友不回你消息,你可以这么玩


    pynput 鼠标键盘按键精灵

    官方网址:https://pypi.org/project/pynput/

    查询其详细API文档,可以参考 https://pynput.readthedocs.io/en/latest/index.html

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

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

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

    这个库核心可以监测控制我们的键盘和鼠标,看起来用在爬虫上面也是非常不错的

    安装

    pip install pynput
    

    基本用法

    安装完毕,测试一下该库是否可以正常运行,运行结果是获取当前鼠标的坐标

    from pynput.mouse import Button, Controller
    
    mouse = Controller()
    
    # 获取鼠标坐标
    print('当前鼠标的坐标是 {0}'.format(mouse.position))
    
    
    from pynput.mouse import Button, Controller
    import time 
    
    #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 {0}'.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( on_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)
    # 按下a键和释放a键
    # 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都可以

    from pynput import keyboard
    from pynput.mouse import Button, Controller
    from pynput.keyboard import Key
    import time
    import random
    
    time.sleep(3)
    my_mouse = Controller()
    my_keyboard = keyboard.Controller()
    
    i = 0
    while i < 100:
        i += 1
        if i != 100:
            mes = ['xiangni', 'aini', 'zaiganmane', 'laopo']
            my_keyboard.type(random.choice(mes))
            my_keyboard.press(Key.space)
            my_keyboard.release(Key.space)
    
            my_mouse.position = (1689, 773)
            my_mouse.press(Button.left)
            my_mouse.release(Button.left)
            time.sleep(2)
        else:
            break
    

    女朋友感动哭了(当然,你得先有个女朋友)

  • 相关阅读:
    [原][python]把python文件编译成exe(解决安装pyinstaller出现的错误)
    [原][c++][公式]计算球弧面体积------球缺
    Java运行时动态生成类几种方式
    Flink窗口Window机制详解
    Bootstrap 提示工具(Tooltip)插件
    Bootstrap-table 使用说明--如何在表格td里增加一个按钮
    如何在列表操作列区域添加按钮及控制已有按钮显示
    fastadmin 如何去掉 权重拖拽 图标
    如何设置select下拉禁止选择
    js引用cdn,如果cdn挂了,用本地js替补
  • 原文地址:https://www.cnblogs.com/kai-/p/13199657.html
Copyright © 2020-2023  润新知