zoukankan      html  css  js  c++  java
  • Python直接控制鼠标键盘

    Python直接控制鼠标键盘

    之前因为期末的原因已经很久没写博客了,今天博主发现一个好玩的模块PyAutoGUI,借助它可以使用Python脚本直接控制键盘鼠标,感觉可以解决很多无聊的机械运动。这里记录一下学习情况

    安装

    $ sudo pip install pyautogui
    

    安装的依赖包可能比较多,只要耐心等待即可

    基本使用

    screenWidth, screenHeight = pyautogui.size() # 屏幕尺寸
    mouseX, mouseY = pyautogui.position() # 返回当前鼠标位置,注意坐标系统中左上方是(0, 0)
    

    为了保持用户可以随时干预鼠标键盘的动作,比较好的方法是添加停顿,或者强制结束,否则想停了鼠标还一直在晃就会失控,下面是两种对应的设置

    pyautogui.PAUSE = 1.5 # 每个函数执行后停顿1.5秒
    pyautogui.FAILSAFE = True # 鼠标移到左上角会触发FailSafeException,因此快速移动鼠标到左上角也可以停止
    

    鼠标操作

    移动

    w, h = pyautogui.size()
    pyautogui.moveTo(w/2, h/2) # 基本移动
    pyautogui.moveTo(100, 200, duration=2) # 移动过程持续2s完成
    pyautogui.moveTo(None, 500) # X方向不变,Y方向移动到500
    
    pyautogui.moveRel(-40, 500) # 相对位置移动
    

    拖动

    # 点击+向下拖动
    pyautogui.click(941, 34, button='left')
    pyautogui.dragRel(0, 100, button='left', duration=5)
    

    点击

    pyautogui.click(300, 400, button='right') # 包含了move的点击,右键
    pyautogui.click(clicks=2, interval=0.25) # 双击,间隔0.25s
    

    滚轮

    pyautogui.scroll(-10)
    

    键盘操作

    输入文字

    点击对话框输入文字即可,不过中文好像不行

    pyautogui.click(1279, 374)
    pyautogui.typewrite('hello world!')
    

    精确控制键盘

    一下是手动输入中文的方法

    pyautogui.press('shift') # 切换输入法的中英文
    pyautogui.press(['#', ' ']) # press 可以对单个字符或者列表进行操作
    pyautogui.press(['x', 'i', 'a', 'o'])
    pyautogui.press(['y', 'u'])
    pyautogui.press(['w', 'e', 'i'])
    pyautogui.press(['l', 'a', 'n'])
    pyautogui.press(' ')
    
    # 潇雨危栏
    

    hotKey

    pyautogui.hotkey('shift', 'a') # 可以使用组合键,本质上是
    '''
    pyautogui.keyDown('shift')
    pyautogui.keyDown('a')
    pyautogui.keyUp('shift')
    pyautogui.keyUp('a')
    '''
    

    小结

    PyAutoGUI模拟了鼠标键盘的输入,感觉机器好像被脚本操控了,具体的应用还没想好,感觉好像能解决一些爬虫的问题。这个库的灵活之处在于应用无关性,缺点也在于这一点。

  • 相关阅读:
    iPhone电话与短信相关代码小结
    时间都去哪儿了?开源一个统计iPhone上App运行时间和打开次数的小工具【iOS8已失效】
    分享一个仿网易新闻客户端iPhone版的标签式导航ViewController
    iOS推送小结(证书的生成、客户端的开发、服务端的开发)
    Argy1risMatrix1
    2019河南模考题
    撮箕2020-3-8
    数学符号md
    2014全国甲&2015福建-几何题
    零点
  • 原文地址:https://www.cnblogs.com/fanghao/p/8453207.html
Copyright © 2011-2022 走看看