PyAutoGUI单击可能在任何监视器上的项目

时间:2019-03-28 19:44:32

标签: python python-3.x automation pyautogui

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

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)

在第二个显示器上出现“ Intense.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。

0 个答案:

没有答案
相关问题