pywinauto截图 用opencv比对 再用pywinauto点击
时间: 2023-10-19 12:25:53 浏览: 184
要实现使用pywinauto截图,用opencv比对,再用pywinauto点击的功能,可以按照以下步骤进行操作:
步骤1: 导入所需的模块
引用中提到了需要导入pyautogui和opencv模块,可以使用以下代码导入:
```
import pyautogui as pgi
import time
import cv2
import pywinauto
```
步骤2: 截取屏幕并保存为图像文件
使用pgi模块中的screenshot()函数来截取屏幕图像,并保存为图像文件,可以使用以下代码:
```
pgi.screenshot().save(r'.\img\screenshot.png')
```
步骤3: 使用opencv进行图像比对
使用opencv中的matchTemplate()函数对截取的屏幕图像和参考图像进行比对,得到比对结果,并找到中心点位置。可以参考引用中的代码:
```
img = cv2.imread(r'.\img\screenshot.png')
img_terminal = cv2.imread(r'.\img\daka.jpg')
result = cv2.matchTemplate(img, img_terminal, cv2.TM_SQDIFF_NORMED)
upper_left = cv2.minMaxLoc(result)[2]
center = (int(upper_left + width/2), int(upper_left + height/2))
```
步骤4: 使用pywinauto进行点击操作
使用pywinauto模块中的相应函数,根据中心点的位置来进行点击操作。可以使用以下代码:
```
app = pywinauto.Application(backend="uia").connect(title='窗口标题')
window = app.window(title='窗口标题')
window.click_input(coords=center)
```
通过以上步骤,我们可以实现使用pywinauto进行截图、用opencv进行图像比对,再使用pywinauto进行点击操作的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [pyautogui微信小程序自动化操作](https://blog.csdn.net/m0_50888475/article/details/126222145)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [python 实现自动化点击界面方案](https://blog.csdn.net/LlanyW/article/details/123323918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文