AutomationElement child = walker.GetFirstChild(el);
using windows automation How do i simulator a left single click on Child ?
AutomationElement child = walker.GetFirstChild(el);
using windows automation How do i simulator a left single click on Child ?
try with:
AutomationElement child = walker.GetFirstChild(el);
System.Windows.Point p = child.GetClickablePoint();
Mouse.Move((int)p.X, (int)p.Y);
Mouse.Click(MouseButton.Left);
Links:
AutomationElement.GetClickablePoint Method
Simulate mouse Enter/Move/Leave on WPF control without real mouse usage
Edit for comment
See this links:
Mouse.cs
NativeMethods.cs
Introduction to TestApi – Part 1: Input Injection APIs
Rather than sending mouse events, you can Invoke
it through the InvokePattern
like so:
public void InvokeAutomationElement(AutomationElement automationElement)
{
var invokePattern = automationElement.GetCurrentPattern(InvokePattern.Pattern) as InvokePattern;
invokePattern.Invoke();
}
if the control has a "ClickablePoint" you can use this code
System.Windows.Point p = theButton.GetClickablePoint();
AutoItX3Lib.AutoItX3Class au3;
au3 = new AutoItX3Lib.AutoItX3Class();
au3.AutoItSetOption("MouseCoordMode", 0);
au3.MouseClick("LEFT", (int)p.X, (int)p.Y, 1, -1);
where AutoItX3Lib is the C# API for AutoIt