PyAutoGUI点击任何moni上的项目

2024-10-05 15:25:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个额外的显示器插入我的笔记本电脑很多次(但不是所有的时间),我最近注意到以下代码:

import pyautogui
change_intense_to_calm = pyautogui.locateOnScreen('Intense.png', confidence = 0.9)
run_script_button_x, run_script_button_y = pyautogui.center(change_intense_to_calm)
pyautogui.click(run_script_button_x, run_script_button_y)

当紧张.png“项目出现在第二个监视器上!如果它出现在主监视器(笔记本电脑屏幕)上,它确实会将鼠标移动到该位置并单击,但是如果包含该项目的窗口在辅助监视器上,它将失败,从而导致以下错误:

Traceback (most recent call last):
  File "E:\Installation\3_Include\PK2_Scripts\AutoHotkey\foobarFacetsSwitcher\doit.py", line 18, in <module>
    run_script_button_x, run_script_button_y = pyautogui.center(change_intense_to_calm)
  File "C:\Program Files\Python\Python37\lib\site-packages\pyscreeze\__init__.py", line 407, in center
    return (coords[0] + int(coords[2] / 2), coords[1] + int(coords[3] / 2))
TypeError: 'NoneType' object is not subscriptable

大概是因为它找不到。你知道吗

如何修改代码,使其能够找到该项并单击它,而不管包含该项的窗口位于哪个监视器上?作为参考,我在Windows 10 64位版本14393上。你知道吗


Tags: torun代码pngscriptbuttoncoordschange