[python-win32] How do I get the URL of the active tab in Internet Explorer
He Jibo
hejibo at gmail.com
Tue Nov 30 18:42:52 CET 2010
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
<mdriscoll at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20101130/a442d78e/attachment.html>
More information about the python-win32
mailing list