是否可以通过索引以编程方式获取浏览器中的列表?
例如,假设Google Chrome已打开,有两个标签 在程序中,行如下:
tabs_list = list_tabs(hwnd)
...其中hwnd是整个Chrome实例窗口的句柄,tabs_list是一个字典,如:
[
0 : 'http://stackoverflow.com/',
1 : 'http://www.coolstuffff.com/'
]
(...或者可能是窗口的标题而不是网址)
如果是这样,那么可以通过带有键盘命令的Python脚本,控制 - (CTRL-),如control-1或control-2,将焦点集中到其中一个。
稍后添加的编辑试图帮助澄清:想象一下本地wxPython应用程序,您已经知道如何在本地运行的wxPython应用程序中激活同一个框上的给定Chrome实例,并且该浏览器实例有多个选项卡打开,现在您要确保某个选项卡具有焦点,以便能够与正在显示的网页进行交互(例如,可以使用CTRL-A CTRL-C来获取其内容)。这个问题不是关于发布键盘命令,这是已知的,问题是如何获得打开的选项卡列表,如果可能的话,谢谢。
答案 0 :(得分:7)
虽然不确定您的目标操作系统,但您可以在Mac OS X上执行此操作:
>>> from appscript import *
>>> map(lambda x: x.title(), app('Google Chrome').windows[0].tabs())
[u'Stack Overflow', u'Google']
在Windows上,您将需要使用Python查看OLE自动化。
答案 1 :(得分:2)
不可能。首先你没有注意到你开发的应用程序,但是如果你使用python作为网站后端 - 那么它只是一种服务器端语言,并且不知道什么是“浏览器” - 服务器输出到浏览器,这就是全部。而且我不相信使用像javascript这样的客户端语言是可能的,因为如果可能的话,这似乎是一个严重的安全和隐私问题。
编辑:如果你正在开发一个Chrome插件,可以说这可能是一个完全不同的故事 - 但它会转向Chrome API而你的标记是错误的,因为“python”本身不能这样做。