以编程方式打开浏览器选项卡的列表


问题内容

有没有一种方法可以通过编程方式 在浏览器中 按索引获取 打开的选项卡列表

例如,假设打开了带有两个标签的Google Chrome。
在程序中,一行类似:

tabs_list = list_tabs(hwnd)

…其中hwnd是整个Chrome实例的窗口句柄,而tabs_list是字典,例如:

[
0 : 'http://stackoverflow.com/',
1 : 'http://www.coolstuffff.com/'
]

(…或按窗口标题而不是网址)

如果是这样,则可以通过Python脚本使用键盘命令(如control-1或control-2的control-(CTRL-))将焦点集中在其中之一上。


稍后添加了一个编辑,以帮助弄清:本地wxPython应用程序的图片,您已经知道如何在本地运行的wxPython应用程序内的同一框中激活Chrome的给定实例,并且该浏览器实例打开了多个标签,并且现在,您要确保某个标签页具有焦点,以便能够与正在显示的网页进行交互(例如,可以使用CTRL-A
CTRL-C来收获其内容)。这个问题与发出键盘命令无关,众所周知,这个问题是如何获取打开的选项卡列表,如果可能的话,谢谢。


问题答案:

虽然不确定目标操作系统,但可以在Mac OS X上执行此操作:

>>> from appscript import *
>>> map(lambda x: x.title(), app('Google Chrome').windows[0].tabs())
[u'Stack Overflow', u'Google']

在Windows上,您将需要研究OLE Automation with Python。