Automating IE 6.0

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • EricP

    Automating IE 6.0

    I'm trying to figure out how to print from IE 6.0 using Python's Win32all
    com library.
    When I do

    from win32com.client import Dispatch
    from time import sleep
    ie = Dispatch("Inter netExplorer.App lication")
    ie.Visible = 1
    ie.Navigate("ht tp://www.cnn.com")
    if ie.Busy:
    sleep(2)

    and then interactly look for methods by using the ie. (dot) approach there
    are very few objects and non that relate to the tool bar or commands. How
    do I expose the IE object library and which object library do I inspect to
    see the objects and methods avaiable to me.

    Thanks


  • Peter Hansen

    #2
    Re: Automating IE 6.0

    EricP wrote:[color=blue]
    >
    > I'm trying to figure out how to print from IE 6.0 using Python's Win32all
    > com library.
    > When I do
    >
    > from win32com.client import Dispatch
    > from time import sleep
    > ie = Dispatch("Inter netExplorer.App lication")
    > ie.Visible = 1
    > ie.Navigate("ht tp://www.cnn.com")
    > if ie.Busy:
    > sleep(2)
    >
    > and then interactly look for methods by using the ie. (dot) approach there
    > are very few objects and non that relate to the tool bar or commands. How
    > do I expose the IE object library and which object library do I inspect to
    > see the objects and methods avaiable to me.[/color]

    This isn't really a Python question, although someone might have examples
    that already work.

    Usually you need to go to the MSDN (MS Developer Network) pages and
    read up on the IE object model there.

    Do let us know if you find the answer, though, so it can be found in
    the mailing list archives.

    -Peter

    Comment

    • EricP

      #3
      Re: Automating IE 6.0

      Sorry about the last post and the bad formmatting. I'm using outlook to
      post to the news groups and it does funky things....... Hopefully this is
      better.

      Okay I'm making some progress using win32com and com automation to get
      Microsoft Internet Controls Internet Explorer to print from python.

      I used the makepy utility on the "Microsoft Internet Controls (1.1)" object
      library to get early binding.

      This works:

      # IE COM Example
      # print without prompting the user with printer dialog

      from win32com.client import Dispatch
      from time import sleep
      ie = Dispatch("Inter netExplorer.App lication")
      ie.Visible = 1
      ie.Navigate("ht tp://www.cnn.com")
      if ie.Busy:
      sleep(2)
      # print the current IE document without prompting the user for the
      printerdialog
      ie.ExecWB(win32 com.client.cons tants.OLECMDID_ PRINT,win32com. client.constant s
      ..OLECMDEXECOPT _DONTPROMPTUSER )


      Figuring out that "Microsoft Internet Controls (1.1)" was the correct object
      library for Internet Explorer was bit of a challenge. Yes of course I
      couild have guessed but then I would not have learned so much.

      What I did was:
      1) I knew that InternetExplore r.Application could be used ad the ProgID so I
      searched the registery for this text
      2) When I found the registry listing that had the associated CLSID I then
      searched the registry for this value
      3) Volia' - Found this text <strong>Microso ft Internet Controls</strong> in
      one of the registry data fields
      Next is to try to get some control over the printer properties and the
      default printer so I can write to a PDF file using Distiller.

      "EricP" <fordphoto2020N OSPAM@yahoo.com NOSPAM> wrote in message
      news:hgBmb.1376 1$9E1.66547@att bi_s52...[color=blue]
      > Okay I'm making some progress using win32com and com automation to get
      > Internet Explorer to print from python.
      >
      > I used the makepy utility on the "Microsoft Internet Controls (1.1)"[/color]
      object[color=blue]
      > library to get early binding and the following works
      >
      > # IE COM Example
      >
      > # print without prompting the user with printer dialog
      >
      > from win32com.client import Dispatch
      >
      > from time import sleep
      >
      > ie = Dispatch("Inter netExplorer.App lication")
      >
      > ie.Visible = 1
      >
      > ie.Navigate("ht tp://www.cnn.com")
      >
      > if ie.Busy:
      >
      > sleep(2)
      >
      > # print the current IE document without prompting the user for the printer
      > dialog
      >
      >[/color]
      ie.ExecWB(win32 com.client.cons tants.OLECMDID_ PRINT,win32com. client.constant s[color=blue]
      > .OLECMDEXECOPT_ DONTPROMPTUSER)
      >
      >
      > Next is to try to get some control over the printer properties and the
      > default printer so I can write to a PDF file using Distiller.
      >
      >
      >
      > I'm new to python and to com objects but not to programming. This has been
      > pretty painful but I got it. The pain most mostly in just finding the
      > documentation for ExecWB on the microsoft site, recongnizing that the[/color]
      first[color=blue]
      > attribute for ExecWB is not needed for python (assuming this is self),
      > getting the constants syntax just right and 1st and foremost figuring out
      > which object library to run makepy on. I've learned a lot on the way......
      >
      >
      >
      > "Peter Hansen" <peter@engcorp. com> wrote in message
      > news:3F9A8522.9 06619D8@engcorp .com...[color=green]
      > > EricP wrote:[color=darkred]
      > > >
      > > > I'm trying to figure out how to print from IE 6.0 using Python's[/color][/color]
      > Win32all[color=green][color=darkred]
      > > > com library.
      > > > When I do
      > > >
      > > > from win32com.client import Dispatch
      > > > from time import sleep
      > > > ie = Dispatch("Inter netExplorer.App lication")
      > > > ie.Visible = 1
      > > > ie.Navigate("ht tp://www.cnn.com")
      > > > if ie.Busy:
      > > > sleep(2)
      > > >
      > > > and then interactly look for methods by using the ie. (dot) approach[/color][/color]
      > there[color=green][color=darkred]
      > > > are very few objects and non that relate to the tool bar or commands.[/color][/color]
      > How[color=green][color=darkred]
      > > > do I expose the IE object library and which object library do I[/color][/color][/color]
      inspect[color=blue]
      > to[color=green][color=darkred]
      > > > see the objects and methods avaiable to me.[/color]
      > >
      > > This isn't really a Python question, although someone might have[/color][/color]
      examples[color=blue][color=green]
      > > that already work.
      > >
      > > Usually you need to go to the MSDN (MS Developer Network) pages and
      > > read up on the IE object model there.
      > >
      > > Do let us know if you find the answer, though, so it can be found in
      > > the mailing list archives.
      > >
      > > -Peter[/color]
      >
      >[/color]


      Comment

      Working...