c# - 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。
先感谢您。
解决方案
推荐阅读
- autohotkey - 有没有办法关闭脚本部分而不只是将其隐藏在评论中?
- twilio - Twilio PHP SDK - twilio 收到我的请求了吗?
- python - 为什么不使用 {{ xxx }} 在模板中显示视图内容
- sql - (A AND B) OR NOT B 内连接的 SQL 逻辑
- python - 如何在 Python 中让 While-Loop 从头开始?
- javascript - 未捕获的类型错误:t.rgb 不是函数
- java - 如何覆盖java中的抽象方法?
- graphql - GraphQL 未知字段
- google-cloud-platform - GCE 实例元数据服务的速率限制是多少?
- node.js - NodeJS - 我可以在新请求中解析和使用 JSON 响应正文吗?