TTTTTSY 发表于 2021-11-24 17:44:47

python修改屏幕分辨率后,使用pyautogui点击坐标出现错误

在用pyautogui写一个自动跑工具的脚本,考虑到同事用的时候,电脑分辨率会和我的不一致,因此加了一个检查电脑分辨率并切换的部分代码如下:
def check_display():
    w = win32api.GetSystemMetrics(0)
    h = win32api.GetSystemMetrics(1)
    if w == 1920 & h == 1080:
      pass
    else:
      dm = win32api.EnumDisplaySettings(None, 0)
      dm.PelsWidth = 1920
      dm.PelsHeight = 1080
      dm.DisplayFixedOutput = 0
      win32api.ChangeDisplaySettings(dm, 0)
    return(w,h)

后面就是打开工具和选择选项了,但是出现的问题就是,如果我切换了屏幕的分辨率,后续根据坐标点击工具选项就会出错,下面是我选择工具选项的代码:
def select_option ():
    check_img = r'C:\Users\siyuan.tian\Desktop\autogui\img\tittle.png'
    lo = agui.locateCenterOnScreen(check_img)
    lo_x, lo_y = lo
    #点击Stability
    agui.click(x=lo_x+170, y=lo_y+125, clicks=1, button='left')
    time.sleep(0.3)
    #点击sharpness
    agui.click(x=lo_x+190, y=lo_y+200, clicks=1, button='left')
    time.sleep(0.3)
    #点击ok
    agui.click(x=lo_x-5, y=lo_y+205, clicks=1, button='left')
    time.sleep(0.3)
    #点击确定
    agui.click(x=lo_x-50, y=lo_y+240, clicks=1, button='left')
    time.sleep(0.5)

check_img相当于是一个坐标标准点,其他的坐标都是按照相对位置来计算的
我打印出来的lo坐标是准确的,但是就是鼠标在进行后面的点击操作时有问题
请问出现这种问题是什么原因?有什么好的解决方法,谢谢
页: [1]
查看完整版本: python修改屏幕分辨率后,使用pyautogui点击坐标出现错误