作者丨老肥

来源丨老肥码码码(algo_and_data)

今天老肥给大家介绍Python一个非常有意思的库PyUserInput,它集成了PyMouse和PyKeyboard这俩模块,能够模拟鼠标和键盘的操作,可以说是轻量级的按键精灵。

我们可以用这个库来进行一些机械的重复操作,也可以作为小游戏的脚本。俗话说得好,工欲善其事,必先利其器,我们需要先将PyUserInput安装。

模块安装

不同的操作系统需要安装不同的依赖:

  • Linux - Xlib

  • Mac - Quartz,AppKit

  • Windows - pywin32,pyHook

在Windows系统中,pywin32是已经默认安装的,我们仅需要安装pyHook。

在此页面下载与自己电脑相匹配的版本,并进入该whl文件所在位置,输入命令即可成功安装。

pip install xxxxxx.whl

安装完依赖之后,我们只要在命令行输入如下命令即可大功告成。

pip install PyUserinput

简单使用

首先,导入pymouse和pykeyboard库,并创建鼠标以及键盘对象。

from pymouse import PyMouse
from pykeyboard import PyKeyboardm = PyMouse()
k = PyKeyboard()
  • 鼠标

x_dim, y_dim = m.screen_size()
# 获取屏幕尺寸
m.move(100, 100)
# 移动鼠标到某坐标,该坐标以左上角为(0,0)
m.click(100, 100, 1, 1)
# 在(100, 100)的位置单击左键一次

在click方法中,前两个参数为位置的坐标,第三个参数为按键选项,1表示鼠标左键,2表示右键,而最后一个参数表示点击的次数。

  • 键盘

k.type_string("Laofei NB!")   #输入字符串
k.press_key("S")              #按下S键
k.release_key("S")            #松开S键
k.tap_key("S")                #点击S键

另外还可以有组合按键,比如最常用的复制Ctrl+C。我们先按下Ctrl键,再点击C键,最后释放Ctrl键,一气呵成,完成这人生中最幸福的操作之一:复制。

k.press_key(k.control_key)
k.tap_key('c')
k.release_key(k.control_key)

模拟登录

在完成前面的基础学习之后,我们来实战一下用Python模拟鼠标键盘的操作。以前都用Selenium,今天就换个姿势来模拟登录~

这个思路应该是非常清晰的,先用鼠标实现定位,键盘输入邮箱账号以及密码,接着利用鼠标拖动滑块至底部,最后再点击登录按钮实现登录。

# 输入邮箱账号以及密码
m.move(590,370)
m.click(590,370,1,1)
k.type_string('laofei@520.com')
time.sleep(1)
m.move(590,440)
m.click(590,440,1,1)
k.type_string('memeda')
time.sleep(1)
# 拖动滑块
m.move(590,510)
m.press(590,510,1)
time.sleep(1)
m.move(1000,500)
time.sleep(2)
# 点击登录按钮
m.click(590,600)

整个登录过程行云流水,有下图为证。

近期精彩内容推荐:  

 太真实了!有个程序员男友原来是这样的!

 终于有人把 HTTPS 原理讲清楚了!

 你真的会用 Postman 吗?

 Swift 5.3 路线图

在看点这里好文分享给更多人↓↓

换个姿势「模拟登录」相关推荐

  1. python在手机上如何模拟登录_用 Python 换个姿势「模拟登录」

    原标题:用 Python 换个姿势「模拟登录」 作者:librauee 今天给大家介绍Python一个非常有意思的库PyUserInput,它集成了PyMouse和PyKeyboard这俩模块,能够模 ...

  2. 微信公众号关闭iOS端虚拟支付业务;苹果「Apple 登录」存安全漏洞;谷歌推迟发布Android 11 Beta| 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...

  3. java code combat_极客战记怎么换成java_「网易官方」极客战记(codecombat)攻略-沙漠-脆弱的士气......

    当指挥官倒下之时,敌人将会撤退. 简介 你只有一名弓箭手,因此你需要首先打败兽人首领! 遍历 enemies 数组,比较他们的 health .最多 health 的敌人就是了! 默认代码 # 你有一 ...

  4. 极客战记怎么换成java_「网易官方」极客战记(codecombat)攻略-森林-矮人蜂拥而至-munchkin-swarm...

    简介 这次通关需要用到: if/else , distanceTo() , < , cleave() , while-true 循环, 以及 attack("Chest") ...

  5. python爬虫token_Python入门:模拟登录(二)或注册之requests处理带token请求

    转自http://blog.csdn.net/foryouslgme/article/details/51822209 首先说一下使用Python模拟登录或注册时,对于带token的页面怎么登录注册模 ...

  6. 模拟登录淘宝,清空购物车

    模拟登录 学爬虫,总能听到模拟登录这四个字,究竟什么是模拟登录?通俗一点讲,模拟登录就是程序用账号和密码自动登录一个网站.然后,拿到只有登录后,才能下载的网站数据. 比如,我们只有登录淘宝账号之后,才 ...

  7. Python3 网络爬虫:模拟登录淘宝,清空女朋友的购物车!

    前言 文字.图片.视频这类常规的内容下载.API 的使用,这些操作对你来说,应该轻而易举了. 那今天,就讲解一下高级一点的技能,「模拟登录」. 值此 618 之际,帮他/她清空一波购物车! 2 模拟登 ...

  8. 我又换了一个新姿势,三秒搞定「搬乐」Ad!再也不用撸代码啦!

    温馨提示:文末有送书福利 前言 为了帮助更多人,更多非程序员也能上手小游戏,晓衡之前提供了: GameNavigator:小游戏互跳导航组件 RewardedVideoAd:激励视频组件 Creato ...

  9. 彩虹登录聚合中转API程序网站源码「免授权」

    源码下载:彩虹登录聚合中转API程序网站源码「免授权」-小程序文档类资源-CSDN下载 彩虹聚合登录中转API是一个可以实现中转QQ.微信.支付宝.微博.百度等平台的快捷登录接口.有多应用管理.域名限 ...

最新文章

  1. LINUX下查看CPU、主板、硬盘、内存,网卡信息
  2. 大道至简——失败也是积累
  3. Python学习笔记四(Python OS模块)
  4. Python全栈工程师(异常(基础))
  5. 搭建高校AI大数据实训室,2019高校大数据科研教学整体解决方案,数道云
  6. 轻量级OLAP(一):Cube计算
  7. 在java中excel格式变为zip什么原因_Excel工作表中最常见的8类问题,你一定遇到过,附解决方法!...
  8. hdu1004(c++)
  9. BA无标度网络(三):网络生成
  10. EPOLL使用的简单总结4——epoll+线程池解决c10k问题
  11. C语言ctype.h
  12. 如何批量将 Xlsx 格式的 Excel 文档转为 Xls 格式
  13. 人工智能发展历史概述
  14. 图像处理保研面试_北航信息与通信工程方向保研面试题集
  15. 如何落户北京?19年积分落户规模为6000人!
  16. 计算机开模拟器,低配电脑如何强制开50个安卓模拟器挂机
  17. apikey、apisecret在api请求中的使用
  18. 【日常点滴015】微信小程序直接下载文件到PC端
  19. android 键盘回车按钮事件,Android中ENTER键(确认键)点击响应
  20. Vue element怎么获取table表格当前行数据和索引值

热门文章

  1. Redis入门指南:深入了解这款高性能缓存数据库
  2. 国外问卷调查是真的么?
  3. UCOSIII 系统内部任务
  4. 关于oem7grub 0.4.4 2009-11-18,memory:639k/30 的问题的解决
  5. C++ multimap的简单使用
  6. livp图片批量转jpg转换器无损苹果heic手机照片格式软件mac
  7. 有生之年,被FCoin坑到底?
  8. Fcoin平台每天赠送了好多币如何处理呢?
  9. Cesium基础知识-加载json数据
  10. 获取拉勾网招聘信息数据