我正在为我的桌面应用程序在Python中进行自动化脚本编写。 在那里我发送TAB键/任何键到我的窗体。但是我无法在Python脚本中找到该窗体的句柄。
以下是示例代码段:
__author__ = 'juhis'
import SendKeys
import sys
import os
from Tkinter import *
import ctypes
import win32gui
import pywinauto
pwapp = pywinauto.application.Application()
whandle = pywinauto.findwindows.find_windows(title_re='Form1',class_name='WindowsForms10.Window.8.app.0.2bf8098_r13_ad1')[0]
window1 = pwapp.window_(handle=whandle)
window1.SetFocus()
SendKeys.SendKeys("""{PAUSE 2}""")
SendKeys.SendKeys("""{TAB 2}{PAUSE 2}{ENTER}""")
请帮我弄清楚问题。
-Thanks
答案 0 :(得分:1)
可以更简单地重写代码:
import pywinauto
app = pywinauto.application.Application().connect(title_re='Form1')
Form1 = app.Window_(title_re='Form1', class_name='WindowsForms10.Window.8.app.0.2bf8098_r13_ad1')
Form1.SetFocus()
Form1.TypeKeys("{PAUSE 2}")
Form1.TypeKeys("{TAB 2}{PAUSE 2}{ENTER}")
TypeKeys
自动将焦点设置为Form1
并键入键。 SendKeys
没有设置焦点,因为它不了解窗口。这可能就是为什么它不能与SendKeys
一起使用。
[编辑]当然,您需要以管理员身份运行脚本。
答案 1 :(得分:0)
我为这个问题得到了修复。我所犯的错误是,我没有以管理员身份运行我的脚本。所以这就是SendKeys活动没有发生的原因。
但是当我以管理员身份运行脚本时,SendKeys事件已成功发送到Windows窗体。
感谢瓦西里的帮助。