无法在Internet Explorer下载的窗口中单击“打开方式”选项

需要在INTERNET EXPLORER浏览器中单击“打开方式”选项,下载文件后,将出现此窗口

使用uiautomationclient dll和UIAComWrapper执行此类任务, 到目前为止,由于图书馆未将“打开方式”显示为浏览器的子代/后代,因此至今尚未实现任何目标。

<img src='https://i.stack.imgur.com/XJMJp.png'/>

试图递归查找所有窗口,但没有一个起作用

如果(targetTreeViewElement == null)                 返回;

        AutomationElement elementNode = TreeWalker.ControlViewWalker.GetFirstChild(targetTreeViewElement);

        while (elementNode != null)
        {
            // Test for the control patterns of interest for this sample.
            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();
                }
            }

            // Iterate to next element.
            // elementNode - Current element.
            // treeviewIndex - Index of parent TreeView.
            FindTreeViewDescendants(elementNode);
            elementNode = TreeWalker.ControlViewWalker.GetNextSibling(elementNode);[enter image description here][1]
cherrryving 回答:无法在Internet Explorer下载的窗口中单击“打开方式”选项

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3153439.html

大家都在问