python库:pyautogui

pyautogui可以在不同的平台中使用,windows、mac、linux等均可以使用。pyautogui是纯python语言开发,主要用以模拟用户的鼠标键盘操作。

1、定位元素

1.1、通过xy坐标定位

import pyautogui
loc1 = pyautogui.size()   # 得到整个屏幕的尺寸,比如Size(width=1440, height=900)
loc2 = pyautogui.position()   # 得到当前鼠标的位置,比如Point(x=674, y=391)
loc3 = pyautogui.click(x=100, y=100, duration=1)   # 点击(x=100, y=100)的坐标位置,从当前鼠标位置到(x=100, y=100)位置持续时间是1秒(默认是瞬间完成操作)

1.2、通过图片定位

import pyautogui
pic_loc = pyautogui.locateCenterOnScreen(r"C:\test\test.png") # 返回图片的坐标xy元组
pyautogui.click(pic_loc, duration=1)


pyautogui.locateOnScreen(r"C:\test\test.png")  # 返回图片四元组(最左边,最顶,宽,高)
pyautogui.locateAllOnScreen(r"C:\test\test.png")  # 寻找相似图片,返回迭代器


pyautogui.locateAll(needImage=None, haystackImage=None)  # 返回第1个截图Image对象在haystackImage中的坐标,即返回坐标是四元组(最左边,最顶,宽,高),如果没找到返回None
pyautogui.locate(needImage=None, haystackImage=None)  # 返回生成器

2、 鼠标操作

2.1、点击

import pyautogui
pyautogui.click(x=100, y=100, duration=1)   # 单击,默认是右击
pyautogui.leftClick(x=100, y=100, duration=1)
pyautogui.rightClick(x=100, y=100, duration=1)
pyautogui.doubleClick(x=100, y=100, duration=1)
pyautogui.middleClick(x=100, y=100, duration=1)
pyautogui.tripleClick(x=100, y=100, duration=1)   # 三连击


pyautogui.keyDown("Shift") # 鼠标按住
pyautogui.keyUp("Shift")  # 鼠标松开
pyautogui.press("esc")
pyautogui.press(["a", "a", "a"])
pyautogui.hotkey("ctrl", "a")  # 按快捷键
pyautogui.typewrite(message="Hello world!")  # 输入message,注意只能输入英文字符,不能输入中文字符,如需输入中文字符,需要用新方法pyperclip模块

2.2、拖拽

import pyautogui
pyautogui.drag(xOffset=100, yOffset=100, duration=1)  # 同dragRel
pyautogui.dragRel(xOffset=100, yOffset=100, duration=1) # 表示相对当前的鼠标位置的偏移位置(xoffset=100, yoffset=100)
pyautogui.dragTo(x=100, y=100, duration=1)  # 拖拽到(100,100)位置
 

2.3、滚动scoll

控制鼠标滚动的格数

import pyautogui
pyautogui.scroll(6, x=100, y=100)  # 移动到坐标(100,100)处,向上滚动6格
pyautogui.hscroll(2, x=100, y=100)  # 水平滚动,移动到(100,100)处,向右滚动
pyautogui.vscroll(-3, x=100, y=100)  # 垂直滚动,移动到(100,100)处,向上滚动
pyautogui.scroll(6)  # 向下滚动6格,在当前鼠标位置处
 

3、键盘操作

3.1、输入单个键盘字符

import pyautogui
pyautogui.keyDown("Shift")
pyautogui.keyUp("Shift")
pyautogui.press("esc")
pyautogui.press(["a", "a", "a"])
pyautogui.hotkey("ctrl", "a")
pyautogui.typewrite(message="Hello world!")
 

3.2、输入中文字符

pyautogui不支持输入中文,如果有中文字符应该使用pyperclip模块,pyperclip模块中的copy、paste方法类似ctrl+C, ctrl+V方法,可以复制粘贴包含中文字符的字符串。

import pyperclip
s = r"I love 北京."
pyperclip.copy(s)
pyperclip.paste()
 

4、截图

import pyautogui
img = pyautogui.screenshot()   # 截屏
img.save(r"c:\test\test.png")  # 保存截屏图片
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值