python-3.x - 用户未登录系统时如何使用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)
有什么可能的解决方案吗?谢谢。
解决方案
click_input() 类需要登录到操作系统。
推荐阅读
- java - 在可运行 jar 中包含 src/main/resources 中的文件
- lotus-notes - 防止 NotesDocument 在打开时寻找冗余服务器
- laravel - 完全自定义 Laravel Nova 界面
- python - 无法弄清楚如何在 JSON 中进一步展平嵌套以输出到 CSV
- asp.net-web-api2 - WebAPI 2 方法对一个方法说 404,但不是另一种方法
- multithreading - 在这种读写器情况下是否需要检查条件变量虚假唤醒?
- jquery - 使用jquery滚动到div中的像素数
- typescript - RxJS typescript 理解泛型类型
- java - 结合 Eclipse RCP 3 和 4
- r - 跳过 r 中 for 循环中的特定列