Trying to automate the IE's window which appears when any file gets downloaded,
need to click on "Open with" option which is a part of SplitButton,
<img src='https://i.stack.imgur.com/XJMJp.png'/>
Unable to find the "Open with" option as Child/Descendant of the window, Although rest of the buttons could easily be found.
What I have tried:
Tried recursively find the window, but NO SUCCESS
FindTreeViewDescendants(elementNode)
{
AutomationElement elementNode = TreeWalker.ControlViewWalker.GetFirstChild(targetTreeViewElement);
while (elementNode != null)
{
object objPattern;
ExpandCollapsePattern expcolPattern;
if (true == elementNode.TryGetCurrentPattern(ExpandCollapsePattern.Pattern, out objPattern))
{
expcolPattern = objPattern as ExpandCollapsePattern;
if (expcolPattern.Current.ExpandCollapseState != ExpandCollapseState.LeafNode)
{
ExpandCollapsePattern expandPattern = ((ExpandCollapsePattern)expcolPattern);
if (expandPattern.Current.ExpandCollapseState != ExpandCollapseState.Expanded)
expandPattern.Expand();
}
}
TogglePattern togPattern;
if (true == elementNode.TryGetCurrentPattern(TogglePattern.Pattern, out objPattern))
{
togPattern = objPattern as TogglePattern;
TogglePattern expandPattern = ((TogglePattern)togPattern);
if (expandPattern.Current.ToggleState != ToggleState.On)
expandPattern.Toggle();
}
InvokePattern invPattern;
if (true == elementNode.TryGetCurrentPattern(InvokePattern.Pattern, out objPattern))
{
if (elementNode.Current.Name == "Open with")
{
invPattern = objPattern as InvokePattern;
InvokePattern expandPattern = ((InvokePattern)invPattern);
expandPattern.Invoke();
}
}
FindTreeViewDescendants(elementNode);
elementNode = TreeWalker.ControlViewWalker.GetNextSibling(elementNode);