如何确保已单击该按钮?
How to make sure that button has been clicked?
有没有简单的方法来检查我的确定按钮是否被按下?大多数情况下它运行良好,但有 100 次失败:
AutomationElement rl = SomeMethod();
if (rl.Current.Name == "OK" && rl.Current.ControlType == ControlType.Button)
{
InvokePattern click = (InvokePattern)rl.GetCurrentPattern(InvokePattern.Pattern);
click.Invoke();
}
不知道为什么。
要在按下按钮后收到通知,您可以通过
注册一个 AutomationEventHandler
Automation.AddAutomationEventHandler(InvokePattern.InvokedEvent, AutomationElement yourAE,TreeScope.Element, new AutomationEventHandler(OnStartInvoke));
private static void OnStartInvoke(object src, AutomationEventArgs e)
{
//logic
}
您可以使用它来验证是否也单击了按钮。在您输入 OnStartInvoke 之前调用调度程序中的按钮(有一定的超时)。
有没有简单的方法来检查我的确定按钮是否被按下?大多数情况下它运行良好,但有 100 次失败:
AutomationElement rl = SomeMethod();
if (rl.Current.Name == "OK" && rl.Current.ControlType == ControlType.Button)
{
InvokePattern click = (InvokePattern)rl.GetCurrentPattern(InvokePattern.Pattern);
click.Invoke();
}
不知道为什么。
要在按下按钮后收到通知,您可以通过
注册一个 AutomationEventHandlerAutomation.AddAutomationEventHandler(InvokePattern.InvokedEvent, AutomationElement yourAE,TreeScope.Element, new AutomationEventHandler(OnStartInvoke));
private static void OnStartInvoke(object src, AutomationEventArgs e)
{
//logic
}
您可以使用它来验证是否也单击了按钮。在您输入 OnStartInvoke 之前调用调度程序中的按钮(有一定的超时)。