首页 > 解决方案 > C# 获取 Chrome 的所有标签标题和 URL

问题描述

有几个线程作为c#Getting Chrome URL's from all tab来解决这个问题,但这些问题是,他们使用英文字符串来解决这个问题。我想要一种在不使用某种语言的任何文本的情况下查找 URL 和选项卡标题的方法(例如,有些使用“新选项卡”)。我尝试过的方法是这样的:

    private void getTabInfo()
    {
        Process[] processes = Process.GetProcessesByName("chrome");
        if (processes.Length == 0)
        {
            Console.WriteLine("Chrome is not running");
            return;
        }
        foreach (var process in processes)
        {
            // Ignore process with nullpointer and go to next one.
            if(process.MainWindowHandle == IntPtr.Zero)
            {
                continue;
            }
            AutomationElement root = AutomationElement.FromHandle(process.MainWindowHandle);
            Condition condition = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Window);
            var tabs = root.FindAll(TreeScope.Descendants, condition);
            Console.WriteLine(tabs.Count);
           // This results in tabs.Count being 0. Awaited: >= 1
        }
    }

注意我只是在这里搜索标签计数,以检查它是否找到任何标签(事实并非如此)。根(在代码中)似乎工作得很好,所以问题就在那之后出现了。

作为最终结果,我喜欢获取所有选项卡的名称及其对应的 URL。

先感谢您。

标签: c#.net

解决方案


推荐阅读