Thanks. Following your link, I get the following code in C#, The following function GetActiveTabIndex seems to what I need. But I do not know how to do it in python. Any ideas? Thanks. http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/03a8c835-e9e4-405b-8345-6c3d36bc8941
public int GetActiveTabIndex(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var index = 0; var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { object tabIndex = tab.accessible.get_accState(0); if ((int)tabIndex == IE_ACTIVE_TAB) return index; index++; } } } return -1; } --------------------------- He Jibo Department of Psychology, Beckman Institute for Advanced Science and Technology University of Illinois, Urbana Champaign, 603 East Daniel St., Champaign, IL 61820 website: www.hejibo.info On Tue, Nov 30, 2010 at 4:00 PM, sharpblade <sharpbla...@gmail.com> wrote: > This might be of some help: > > http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/e3a501d6-2163-4cc0-be2d-5011e7fa9613/ > <http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/e3a501d6-2163-4cc0-be2d-5011e7fa9613/>Check > out Dan Morris's post, or T E dixons. > > On Tue, Nov 30, 2010 at 5:42 PM, He Jibo <hej...@gmail.com> wrote: > >> Thanks so much for your valuable information. I will only need the url of >> a browser when it is in the front. I am going to try SendKey, it seems to be >> a good way to go. Have a nice day! >> >> >> --------------------------- >> He Jibo >> Department of Psychology, >> Beckman Institute for Advanced Science and Technology >> University of Illinois, Urbana Champaign, >> 603 East Daniel St., >> Champaign, IL 61820 >> website: www.hejibo.info >> >> >> >> On Tue, Nov 30, 2010 at 9:09 AM, Mike Driscoll < >> mdrisc...@co.marshall.ia.us> wrote: >> >>> On 1:59 PM, He Jibo wrote: >>> >>> Hi, >>> I am writing a small program, which needs to get the URL of the active >>> tab in either of firefox, internet exploerer or chrome. >>> My need is similar as the one posted at, >>> >>> http://stackoverflow.com/questions/3631216/how-do-i-get-the-url-of-the-visible-tab-in-firefox- >>> ie-chrome >>> >>> I did a lot of Googling, and get the following code. The following >>> code can get the url of the first tab in internet explorer. My >>> question is, how can I get the url of the current active tab? Thanks. >>> >>> ''' >>> >>> http://efreedom.com/Question/1-2555905/Get-Internet-Explorer-Address-Bar-Python >>> http://blogs.msdn.com/b/oldnewthing/archive/2005/07/05/435657.aspx >>> http://mail.python.org/pipermail/python-win32/2004-June/002040.html >>> >>> http://code.activestate.com/recipes/302324-browser-automation-tool-py-class-file/ >>> ''' >>> from win32com.client import Dispatch >>> import win32api, win32con,win32gui >>> >>> >>> SHELL = Dispatch("Shell.Application") >>> >>> def get_ie(shell): >>> for win in shell.Windows(): >>> # print win >>> if win.Name == "Windows Internet Explorer": >>> return win >>> return None >>> >>> def main(): >>> ie = get_ie(SHELL) >>> if ie: >>> print ie.LocationURL >>> print ie.LocationName >>> print ie.ReadyState >>> print ie >>> print ie.Document.title >>> print ie.Document.location >>> print ie.Document.forms >>> >>> # title = win32gui.GetWindowText(ie) >>> # print title >>> >>> else: >>> print "no ie window" >>> >>> if __name__ == '__main__': >>> main() >>> --------------------------- >>> He Jibo >>> Department of Psychology, >>> Beckman Institute for Advanced Science and Technology >>> University of Illinois, Urbana Champaign, >>> 603 East Daniel St., >>> Champaign, IL 61820 >>> website: www.hejibo.info >>> >>> >>> It will probably be frowned on here, but one of the easiest ways would be >>> to use SendKeys in combination with some Windows hackery. I have attached >>> some code I came up with after getting help from several of the fine people >>> on this list. It shows how to bring a window into focus by just passing in >>> an expected string. In this case, you would want to use something like >>> "Windows Internet Explorer" and have it search for that. >>> >>> Once that's in focus, you can use the SendKeys package ( >>> http://www.rutherfurd.net/python/sendkeys/) to send an ALT+D to select >>> the url and then CTRL+C to copy it. Then you can use the win32clipboard >>> module from PyWin32 to grab the text from the clipboard. >>> >>> It's a hack, but it's kind of fun. Of course, you can't use your PC while >>> the script runs or you might interrupt the process and send the keys to the >>> wrong window. >>> >>> >>> -- >>> Mike Driscoll >>> Applications Specialist >>> Blog: http://blog.pythonlibrary.org >>> >> >> >> _______________________________________________ >> python-win32 mailing list >> python-win32@python.org >> http://mail.python.org/mailman/listinfo/python-win32 >> >> > > _______________________________________________ > python-win32 mailing list > python-win32@python.org > http://mail.python.org/mailman/listinfo/python-win32 > >
_______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32