2011-09-24 3 views
10

인덱스로 프로그래밍 방식으로 열린 탭 목록을 얻을 수 있습니까?프로그래밍 방식으로 열려있는 브라우저 탭 목록

예를 들어 Google 크롬이 두 개의 탭으로 열려 있다고 가정합니다. 프로그램에서
, 라인 무언가 같이 :

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

(: HWND는 전체 크롬 인스턴스와 tabs_list에 대한 창 핸들입니다

tabs_list = list_tabs(hwnd) 

... 같은 사전 무언가가있다 ... 아니면 URL 대신 윈도우의 제목으로)

그렇다면 키보드 명령이있는 Python 스크립트에서 control-1과 같은 control- (CTRL-)을 사용하여 포커스를 가져올 수 있습니다. 또는 계속 rol-2.


나중에 추가 한 편집 명확히하기 위해 시도 : 사진 이미 로컬로 실행 wxPython에 응용 프로그램 내에서 같은 상자에 크롬의 지정된 인스턴스를 활성화하는 방법을 알고있는 지역의 wxPython 응용 프로그램, 그리고 브라우저 인스턴스에 여러 개의 탭이 열려 있고 이제는 특정 탭에 포커스가 있는지 확인하여 표시되는 웹 페이지와 상호 작용할 수 있습니다 (예 : CTRL-A CTRL-C를 사용하여 내용을 수집 할 수 있음). 이 질문은 이미 알려져있는 키보드 명령을내는 것에 관한 것이 아니라 가능하다면 열린 탭의 목록을 얻는 방법입니다.

+0

정말 플랫폼 (OS)을 아는 데 도움이됩니다. 나는 hwnd에서 Windows를 추측하고 있지만이 세부 사항을 추가하면 (그리고 적절하게 태그를 붙이는 것이) 당신에게 대답을주는 데 필수적입니다. –

+0

크로스 플랫폼 응용 프로그램을 개발하는 것이 목표이기 때문에 OS를 지정하지 않았습니다. 그러나 Windows에서 시작하여 제한해야하는 경우. 그러나 Mac OS X에 대한 예제와 Python을 사용하는 OLE 자동화에 대한 팁을 정말 고맙게 생각합니다. 감사합니다. – gseattle

답변

7

는 대상 OS의 확실하지 않은 동안, 당신은 맥 OS X에서이 작업을 수행 할 수 있습니다 :

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

Windows에서, 당신은 파이썬 OLE 자동화 보길 원하는 것입니다.

+0

우수합니다. 감사합니다. – gseattle

2

불가능합니다. 먼저 어떤 앱을 개발했는지는 모르지만 파이썬을 웹 사이트 백엔드로 사용한다면 (단지 서버 측 언어 일뿐 아니라 "브라우저"가 무엇인지는 알지 못합니다.) 서버가 브라우저로 출력하고 그 모든 것입니다. 그리고 가능하다면 심각한 보안 및 개인 정보 보호 문제 인 것처럼 자바 스크립트와 같은 클라이언트 측 언어로는 가능하지 않다고 생각합니다.

편집 : Chrome 플러그인을 개발중인 경우 완전히 다른 이야기 일 수 있습니다.하지만 Chrome API를 향해 진행되며 '파이썬'자체로는 할 수 없기 때문에 태그 지정이 잘못되었습니다.

+0

모든 클라이언트 측. – gseattle

+0

주로 파이썬입니다. 원래 질문에 메모를 추가하십시오. 필자는 파이썬이 ctypes, win32api 및 기타 모듈, lots-o-fun를 통해 Windows (예를 들어) API를 호출 할 수 있기 때문에 파이썬이 그렇게 할 수 없다고 생각하지는 않습니다. – gseattle

+0

나는 그가 데스크톱 응용 프로그램에 대해 이야기하고 있다고 생각합니다. – rattray

관련 문제