Python(Pyautogui 模块)
1、安装 pyautogui 模块
- pip install pyautogui
2、pyautogui 模块相关操作
- 鼠标操作
# 获取屏幕宽和高
w,h = pyautogui.size() # 在坐标 (1136,706) 位置处使用鼠标左键;默认从鼠标当前坐标位置;button 默认为 "left",有三个可选值,分别为 "left","middle","right"
pyautogui.click(1136,706,button="left")
pyautogui.leftClick(x,y) # 在 (300,400) 坐标处左键双击
pyautogui.click(300, 400,clicks=2, button='left',interval=0.25)
# 在 (x,y) 坐标处双击操作;button 默认为 "left",有三个可选值,分别为 "left","middle","right"
pyautogui.doubleClick(x,y,button="left",duration=0.25) # 在坐标 (1136,706) 位置处使用鼠标右键
pyautogui.click(1136,706,button="right")
pyautogui.rightClick(x,y) # 在坐标 (x,y) 位置处使用鼠标中键
pyautogui.middleClick(x,y) # 按下某个键
pyautogui.mouseDown() # 鼠标拖动到坐标 (1566,706) 位置处
pyautogui.moveTo(1566,706,duration=0.2) # 松开某个键
pyautogui.mouseUp()
- 滚动条操作
# 滚动条操作,它只接受一个整数,值为正则往上滚,值为负则往下滚
pyautogui.scroll(-200)
pyautogui.scroll(200)
- 输入操作
# 选择输入框
pyautogui.click(624,391) # 往输入框输入内容
pyautogui.typewrite("")
- 键盘操作
# 删除一个字符
pyautogui.typewrite(["backspace"]) # 执行 enter 回车操作
pyautogui.typewrite(["enter"]) # 先在当前位置光标向左一个字符,接着删除一个字符,再输入 a,再执行 enter 操作;延时 2 秒
pyautogui.typewrite(["left","backspace","a","enter"],"")
|
"enter"(或 "return" 或 "\n") |
回车 |
|
"esc" |
ESC键 |
|
"shiftleft", "shiftright" |
左右SHIFT键 |
|
"altleft", "altright" |
左右ALT键 |
|
"ctrlleft", "ctrlright" |
左右CTRL键 |
|
"tab" ("\t") |
TAB键 |
|
"backspace", "delete" |
BACKSPACE 、DELETE键 |
|
"pageup", "pagedown" |
PAGE UP 和 PAGE DOWN键 |
|
"home", "end" |
HOME 和 END键 |
|
"up", "down", "left", "right" |
箭头键 |
|
"f1", "f2", "f3"…. |
F1…….F12键 |
|
"volumemute", "volumedown", "volumeup" |
有些键盘没有 |
|
"pause" |
PAUSE键 |
|
"capslock", "numlock", "scrolllock" |
CAPS LOCK, NUM LOCK, 和 SCROLLLOCK 键 |
|
"insert" |
INS或INSERT键 |
|
"printscreen" |
PRTSC 或 PRINT SCREEN键 |
|
"winleft", "winright" |
Win键 |
|
"command" |
Mac OS X command键 |
- 组合键 / 热键操作
#使用组合键
# alt + a 键进行组合使用
pyautogui.keyDown('alt')
pyautogui.press('a')
pyautogui.keyUp('alt')
# 使用热键
# 调起 qq
pyautogui.hotkey("ctrl","alt","z") #调起微信
pyautogui.hotkey("alt","d")
3、操作实例
- 处理验证滑块

import pyautogui
from selenium import webdriver
import time
dr = webdriver.Chrome()
dr.get("https://shopcs.yunyoute.com/login")
dr.maximize_window()
dr.implicitly_wait(10)
time.sleep(2)
pyautogui.click(1136,706,button="left") # 在坐标(1136,706)位置处进行鼠标左键
pyautogui.mouseDown() # 按下鼠标键
pyautogui.moveTo(1566,706,duration=0.2) # 鼠标拖动到坐标(1566,706)位置处
pyautogui.mouseUp() # 松开鼠标
- 将滑动滑块方法封装成功公共方法
"""
文件 Left_slide.py
"""
import pyautogui def left():
w,h = pyautogui.size() # 获取屏幕宽 w 和高 h
x1 = w * 0.59
x2 = w * 0.81
y1 = h * 0.65
pyautogui.click(x1,y1,button="left") # 在坐标(1136,706)位置处进行鼠标左键
pyautogui.mouseDown() # 按下鼠标键
pyautogui.moveTo(x2,y1,duration=0.2) # 鼠标拖动到坐标(1566,706)位置处
pyautogui.mouseUp() # 松开鼠标 """
文件 case.py
"""
from selenium import webdriver
from public.Left_slide import left
import time
dr = webdriver.Chrome()
dr.get("https://shopcs.yunyoute.com/login")
dr.maximize_window()
dr.implicitly_wait(10)
time.sleep(2)
left() # 调用左滑方法
Python(Pyautogui 模块)的更多相关文章
- pyautogui 模块学习
在日常实施中,我们用控件对大部分的网页和客户端都能进行拾取操作.但是仍有一小部分的应用无法进行操作.这里我常用到 pyautogui 这个模块.下面做个分享. Python 的 pyautogui 模 ...
- 浅谈pyautogui模块
pyautogui模块 PyAutoGUI--让所有GUI都自动化 安装代码: pip install pyautogui 目的 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以 ...
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- Python的模块引用和查找路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python基础-模块
一.模块介绍 ...
- python 安装模块
python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...
- python Queue模块
先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...
随机推荐
- Linux网络安全篇,认识防火墙(二),Netfilter
一.概述 因为iptables软件利用的是数据包的过滤的机制.所以它会分析数据包的报头数据.根据报头数据与定义的规则来决定该数据是否可以放行.若数据包内容与规则内容相同则放行,否则继续与下一条规则进行 ...
- Java研发技术学习路线
Java研发技术成长路线 作为一名Java研发者,深感Java技术的学习是一个漫长过程,从一名Java菜鸟开始,加之持之以恒的耐心和脚踏实地的精神,不间断理论的学习,不停止技术实践,终成为一名技术佼佼 ...
- Mac配置hosts文件
说明:工作里面有时候会遇到内网办公的环境,需要对使用的IP和地址进行配置到hosts文件内,所以记录一下: 1,Windows配置hosts Windows里面直接打开文件夹,可进行找到system/ ...
- logback日志实战
<?xml version="1.0" encoding="UTF-8" ?> <!-- <configuration> < ...
- AJ学IOS(53)多线程网络之NSOperation简介
AJ分享,必须精品 一:简单介绍 1:NSOperation的作⽤使用步骤: 配合使用NSOperation和NSOperationQueue也能实现多线程编程. NSOperation和NSOper ...
- 【论文笔记】张航和李沐等提出:ResNeSt: Split-Attention Networks(ResNet改进版本)
github地址:https://github.com/zhanghang1989/ResNeSt 论文地址:https://hangzhang.org/files/resnest.pdf 核心就是: ...
- Starlims Client Request Portal 客户申请门户
用户可以直接在starlims对外的"客户申请门户"上发起检验申请,并追踪检验进度等. 工作流程图示如下:
- 小程序运行时如何助力传统APP转型?
小程序和H5或者RN有什么区别?优越性在哪里? 长期以来,移动互联网界一直在寻找一种既能获得Native原生的体验,又可以低门槛快速开发的技术.在这个过程中出现了很多尝试,例如React Native ...
- 如何假装黑客,使用python去批量破解朋友的网站密码
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...
- Jmeter接口测试、性能测试详细介绍
下面主要就是讲一下Jmeter工具的用法,用法非常简单,比起loadrunner不知道简单多少,并且开源免费~~ 1.接口简介 接口定义 接口: 就是数据交互的入口和出口,是一套标准规范. 接口(硬件 ...