如何获取Chrome浏览器中Google Live Caption窗口的文本内容?
如何获取Chrome Live Caption窗口的文本内容?
Google Chrome的Live Caption功能可在浏览器中显示YouTube等视频的实时语音字幕。在运行Chrome的PC上,可通过Windows API,借助Microsoft VB、VC++等开发工具,通过任务列表定位标题为Live Caption的窗口(示例代码如下),请问是否有方法获取该窗口中的文本内容?
示例代码:
EnumWindows AddressOf EnumWindowsProc, 0&

附:来自inspect.exe的截图
可行的解决方案
从你提供的inspect.exe截图能看出,Live Caption窗口是Chrome的子窗口,用的是Chrome自研渲染框架,普通Windows文本API(比如GetWindowText)没法直接提取内容,因为它不是标准原生控件。可以试试这两种方法:
- UI自动化框架抓取:用Windows UI Automation API(VB/VC++都支持),遍历Chrome窗口的控件树,找到Live Caption对应的文本元素。截图里能看到窗口有可识别的文本节点,UI Automation可以直接读取这些节点的
Value属性。 - Chrome调试协议获取:Live Caption的字幕是Chrome处理后生成的,你可以启动Chrome时加
--remote-debugging-port=9222参数开启调试端口,通过HTTP请求连接到本地调试端口,订阅Accessibility相关事件或直接查询对应DOM元素的内容,这种方法比窗口抓取更稳定,不依赖控件结构。
具体实现提示
- UI Automation方式:
- 先用
EnumWindows找到标题为Live Caption的窗口句柄。 - 调用
AutomationElement.FromHandle方法获取该窗口对应的自动化元素。 - 遍历子元素,找到类型为
Text的控件,读取其Current.Name或Current.Value属性。
- 先用
- Chrome调试协议方式:
- 启动Chrome时添加参数
--remote-debugging-port=9222。 - 访问
http://localhost:9222获取目标页面的调试会话,后续通过调试协议的接口获取字幕内容。
- 启动Chrome时添加参数
内容的提问来源于stack exchange,提问作者Mr Chan
相关产品推荐
相关产品推荐

