【发布时间】:2011-11-24 04:02:31
【问题描述】:
有没有办法通过索引以编程方式获取浏览器中打开的标签页列表?
例如,假设 Google Chrome 打开时有两个标签页。
在程序中,类似这样的一行:
tabs_list = list_tabs(hwnd)
...其中 hwnd 是整个 Chrome 实例的窗口句柄,而 tabs_list 是一个字典,类似于:
[
0 : 'http://stackoverflow.com/',
1 : 'http://www.coolstuffff.com/'
]
(...或者可能是窗口的标题而不是 url)
如果是这样,那么可以通过 Python 脚本使用键盘命令、control- (CTRL-)(如 control-1 或 control-2)将焦点集中到其中之一。
稍后添加的一个编辑试图帮助澄清:想象一个本地 wxPython 应用程序,您已经知道如何从本地运行的 wxPython 应用程序中激活同一个盒子上的给定 Chrome 实例,并且该浏览器实例有多个选项卡打开,现在您要确保某个选项卡具有焦点,以便能够与正在显示的网页进行交互(例如,可能使用 CTRL-A CTRL-C 来获取其内容)。这个问题不是关于发出键盘命令的,这是已知的,问题是如果可能的话,如何获取打开的选项卡列表,谢谢。
【问题讨论】:
-
了解平台(操作系统)真的很有帮助。我从 hwnd 猜测它是 Windows,但添加这个细节(并适当地标记)对于给你一个答案是必不可少的。
-
没有指定操作系统,因为目标是开发一个跨平台的应用程序,但是如果我们需要限制它,从Windows开始。但是,非常感谢您在 Mac OS X 上的示例以及使用 Python 进行 OLE 自动化的提示,谢谢!
标签: python browser scripting tabs