Automating IE 6.0

E

EricP

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("InternetExplorer.Application")
ie.Visible = 1
ie.Navigate("http://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
 
P

Peter Hansen

EricP said:
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("InternetExplorer.Application")
ie.Visible = 1
ie.Navigate("http://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.

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
 
E

EricP

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)" object
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("InternetExplorer.Application")

ie.Visible = 1

ie.Navigate("http://www.cnn.com")

if ie.Busy:

sleep(2)

# print the current IE document without prompting the user for the printer
dialog

ie.ExecWB(win32com.client.constants.OLECMDID_PRINT,win32com.client.constants
..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 first
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......
 
E

EricP

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("InternetExplorer.Application")
ie.Visible = 1
ie.Navigate("http://www.cnn.com")
if ie.Busy:
sleep(2)
# print the current IE document without prompting the user for the
printerdialog
ie.ExecWB(win32com.client.constants.OLECMDID_PRINT,win32com.client.constants
..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 InternetExplorer.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>Microsoft 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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top