我想知道如何获取在MS-Edge浏览器中打开的所有页面的标题和URL。 MS-Edge浏览器不支持shell API。
最后,我尝试了UI自动化工具(inspect.exe
),并在MS-Edge浏览器中找到了所有已打开网页的网址,Title
和Pid
。这些信息以“pane
”控件类型提供。
我尝试使用以下方法获取MS-Edge浏览器的URL和标题。但我无法访问“pane
”控件类型以进一步导航。它总是将计数返回为零。
方法1:
AutomationElement coreWindowControl = GetNamedCustomControl(rootElement, condWindowControl, "Microsoft Edge");
// "Windows.UI.Core.CoreWindow"
if (coreWindowControl != null)
{
Condition condPaneControl = new PropertyConditionAutomationElement.ControlTypeProperty, ControlType.Pane);
AutomationElementCollection collection = coreWindowControl.FindAll(TreeScope.Children, condPaneControl);
Console.WriteLine(collection.Count);
//Output 0
}
方法2:
PropertyCondition condPaneControl = new PropertyCondition(AutomationElement.NativeWindowHandleProperty, 0x150752); var test = AutomationElement.RootElement.FindFirst(TreeScope.Subtree, condPaneControl);
参考网址: Microsoft Edge: Get Window URL and Title
如何在Edge浏览器中阅读Pane控件类型并获取已打开页面的URL和标题?