PyAutoGUI 鼠标控制函数(1)
屏幕、鼠标位置
PyAutoGUI
的屏幕、鼠标位置是基于笛卡尔坐标系(其实绝大多数都是这个定义方式),屏幕的左上角为(0,0)
,X
轴向右为正方向,Y
向下为正方向。
需要注意的是,左上角的像素点是(0,0)
,因此,如果屏幕分辨率为MxN
,则右下角的坐标应为(M-1)x(N-1)
,因为坐标是从0
开始的,而不是1
。
使用size()
可以返回屏幕分辨率,是一个包含两个整数的元祖。position()
函数可以返回当前鼠标的位置。
>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.position()
(187, 567)
例子(摘自官网)
#! python3
import pyautogui, sys
print('Press Ctrl-C to quit.')
try:
while True:
x, y = pyautogui.position()
positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
print(positionStr, end='')
print('\b' * len(positionStr), end='', flush=True)
except KeyboardInterrupt:
print('\n')
#! python
import pyautogui, sys
print('Press Ctrl-C to quit.')
try:
while True:
x, y = pyautogui.position()
positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
print positionStr,
print '\b' * (len(positionStr) + 2),
sys.stdout.flush()
except KeyboardInterrupt:
print '\n'
若要检查XY
坐标是否在屏幕上,将它们(作为两个整数参数或带有两个整数的单个元组/列表参数)传递给oncreen()
函数,如果它们在屏幕边界内,则返回True
,否则返回false
。例如:
>>> pyautogui.onScreen(0, 0)
True
>>> pyautogui.onScreen(0, -1)
False
>>> pyautogui.onScreen(0, 99999999)
False
>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.onScreen(1920, 1080)
False
>>> pyautogui.onScreen(1919, 1079)
True
>>> pyautogui.onScreen([1920, 1080])
False
>>> pyautogui.onScreen((1920, 1080))
False