首页 > 解决方案 > 用户未登录系统时如何使用pywinauto进行点击操作?

问题描述

我目前正在使用 pywinauto 通过 Windows 任务计划程序自动刷新 Power BI 文件。脚本运行良好,如果我登录系统,它就可以很好地完成工作。如果我只是让脚本使用调度程序运行,则无法检测到活动桌面来移动鼠标光标。

我目前得到的错误是“移动鼠标光标不需要活动桌面”。win.Home.click_input() 这会导致在远程计算机上运行时出现问题,并且无法执行单击操作。

我正在使用以下脚本。

import time
import os
import sys
import psutil
from pywinauto import Application

os.system('start "" "' + Filepath + '"')

# Connect pywinauto
print("Identifying Power BI window")
app = Application(backend = 'uia').connect(path = PROCNAME)
win = app.window(title_re = '.*Power BI Desktop')
        
time.sleep(3)
win.wait("enabled", timeout = 300)
win.Save.wait("enabled", timeout = 300)
win.set_focus()
win.Home.click_input()
win.Save.wait("enabled", timeout = 300)
win.wait("enabled", timeout = 300)
    
# Refresh
print("Refreshing Started"
win.Refresh.click_input()
time.sleep(3)
win.wait("enabled", timeout = 300)

#Save
win.type_keys("^S")
time.sleep(3)
win.wait("enabled", timeout = 300)

有什么可能的解决方案吗?谢谢。

标签: python-3.xuser-interfaceremote-desktoppywinauto

解决方案


click_input() 类需要登录到操作系统。


推荐阅读