有几个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。
谢谢。