我正在尝试自动单击我的WPF应用程序的按钮:
使用UISpy.exe的按钮的详细信息:
AutomationElement
General Accessibility
AccessKey: ""
AcceleratorKey: ""
IsKeyboardFocusable: "True"
LabeledBy: "(null)"
HelpText: ""
State
IsEnabled: "True"
HasKeyboardFocus: "False"
Identification
ClassName: "Button"
ControlType: "ControlType.Button"
Culture: "(null)"
AutomationId: "JumptodirectoryButton"
LocalizedControlType: "button"
Name: "Edit Directories"
ProcessId: "5784 (GUI)"
RuntimeId: "7 5784 46496694"
IsPassword: "False"
IsControlElement: "True"
IsContentElement: "True"
Visibility
BoundingRectangle: "(1683, 885, 104, 23)"
ClickablePoint: "1735,896.5"
IsOffscreen: "False"
ControlPatterns
Invoke我试着这样做:
AutomationElement aeDirectory = null;
aeDirectory = aeMasterBuild.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "Edit Directories"));
if (aeDirectory == null)
throw new Exception("No Edit Directory button");
else
Console.WriteLine("Edit Directory button present");
Console.WriteLine("Clicking on edit directories button");
InvokePattern ipClickDirectories = (InvokePattern)aeDirectory.GetCurrentPattern(InvokePattern.Pattern);
ipClickDirectories.Invoke();
Thread.Sleep(1500);我仍然得到异常"No Edit Directory button“。
我做错了什么?
我试着使用AutomationID,ProcessID,但都没有用。
发布于 2011-10-18 23:35:19
不确定您的ui树结构是什么样子,但尝试将TreeScope.Children更改为TreeScope.Descendants,看看这是否仍然对您无效。
https://stackoverflow.com/questions/5798867
复制相似问题