Python根据百分比模拟点击

it2025-08-29  6

 很多情况下模拟点击会受分辨率的影响,但我们可以根据百分比来进行操作

class OperationTools: resolution = None mouse = None def __init__(self): # 获取屏幕分辨率 self.resolution = SystemTools.get_real_resolution() # 使鼠标移动到指定的坐标 # 参数(x坐标,y坐标,移动时间:默认为0) def move_to_point(self, point_x, point_y, time=0): pyautogui.moveTo(point_x, point_y, time) # 使鼠标移动到屏幕的指定百分比 def move_to_percentage(self, percentage_x, percentage_y, time=0): real_point_x = self.resolution[0] * percentage_x real_point_y = self.resolution[1] * percentage_y self.move_to_point(real_point_x, real_point_y, time) # 霜降天下秋 # 根据像素进行模拟点击 def click_with_point(self, point_x, point_y, move_time=0, key="left"): self.move_to_point(point_x, point_y, move_time) pyautogui.click(button=key) print(point_x, point_y) # 根据像素比(百分比)进行模拟点击 # 无论x轴还是y轴都绝对不能大于1 # 君思我兮然疑作(到底想没想我呀) def click_with_percentage(self, percentage_x, percentage_y, move_time=0, key="left"): # 首先将百分比转为分辨率 real_point_x = self.resolution[0] * percentage_x real_point_y = self.resolution[1] * percentage_y self.click_with_point(real_point_x, real_point_y, move_time, key=key) # 获取鼠标所在坐标 def get_mouse_point(self): currentMouseX, currentMouseY = pyautogui.position() return currentMouseX, currentMouseY # 获取鼠标所在屏幕百分比 def get_mouse_percentage(self): real_point_x, real_point_y = self.get_mouse_point() return real_point_x / self.resolution[0], real_point_y / self.resolution[1] def get_point_color(self, point_x, point_y): return pyautogui.screenshot().getpixel((point_x, point_y)) def get_percentage_color(self, percentage_x, percentage_y): real_point_x = self.resolution[0] * percentage_x real_point_y = self.resolution[1] * percentage_y return self.get_point_color(real_point_x, real_point_y)

 

最新回复(0)