Re: Win 32 - VB, Ruby, Perl VS Python with fireEvent

2005-03-24 Thread calfdog
Roger,

Thank you so much! I have been pulling my hair out over this!

Rob.



Roger Upole wrote:
 I don't know why case would make a difference, but if I change
 the fireevent call to FireEvent, it works on XP sp2.
 It also works if you generate the makepy wrappers (probably
 because that forces case-sensitivity)

  hth
  Roger

 [EMAIL PROTECTED] wrote in message
 news:[EMAIL PROTECTED]
  Hello,
 
  I was wondering if anyone could tell me why fireEvent works in
every
  language but Python with the latest Internet Explorer?
 
  I tried this page that has two listboxes if you select  Listbox A
the
  Listbox B should change.
 
  The code status:
  Works fine with Python 2.3, 2.4 in Windows XPsp1
  DOES not work  Python 2.3, 2.4 XP Sp2 or the lastest IE
  Works fine with RUBY on Win 2000, XP sp1 and XP sp2
  Work fine with PERL on on Win 2000, XP sp1 and XP sp2
 
  Luckily I know both Ruby, VB and Perl so I could prove there was a
  problem.
 
  Here is the example code in both Python and Ruby:
 
  Python:
  from win32com.client import DispatchEx
  import time
 
 
 
 
  def wait(ie):
 while ie.Busy: time.sleep(0.1)
 
 doc = ie.Document
 while doc.ReadyState != 'complete': time.sleep(0.1)
 
  ie = DispatchEx('InternetExplorer.Application')
  ie.Visible = 1
  ie.Navigate( 'https://enroll.ou.edu/' )
  wait(ie)
  ie.Document.forms[0].campus.value='200'
  ie.Document.forms[0].campus.fireevent('onchange')
 
  Results:
  Traceback (most recent call last):
   File
 
C:\Python23\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py,
  line 310, in RunScript
 exec codeObject in __main__.__dict__
   File C:\automation\poScript1.py, line 18, in ?
 ie.Document.forms[0].campus.fireevent('onchange')
   File C:\Python23\lib\site-packages\win32com\client\dynamic.py,
line
  154, in __call__
 return
 
self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
  com_error: (-2147024891, 'Access is denied.', None, None)
 
 
 
 
 
  Ruby:
  # OU Registration  Enrollment Online
  require 'win32ole'
  ie = WIN32OLE.new('InternetExplorer.Application')
  ie.visible = true
  ie.gohome
  ie.navigate('https://enroll.ou.edu/')
  while ie.busy
  end
 
  READYSTATE_COMPLETE = 4
  until
   ie.readyState == READYSTATE_COMPLETE
  end
  form = ie.document.forms(0)
  form.campus.value = '200'
  form.campus.fireevent('onchange')
 
  Results: fireEvent was successful and the second listbox was
changed
 




 == Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet
News==
 http://www.newsfeeds.com The #1 Newsgroup Service in the World!
100,000 Newsgroups
 ---= East/West-Coast Server Farms - Total Privacy via Encryption =---

-- 
http://mail.python.org/mailman/listinfo/python-list


Win 32 - VB, Ruby, Perl VS Python with fireEvent

2005-03-23 Thread calfdog
Hello,

I was wondering if anyone could tell me why fireEvent works in every
language but Python with the latest Internet Explorer?

I tried this page that has two listboxes if you select  Listbox A the
Listbox B should change.

The code status:
Works fine with Python 2.3, 2.4 in Windows XPsp1
DOES not work  Python 2.3, 2.4 XP Sp2 or the lastest IE
Works fine with RUBY on Win 2000, XP sp1 and XP sp2
Work fine with PERL on on Win 2000, XP sp1 and XP sp2

Luckily I know both Ruby, VB and Perl so I could prove there was a
problem.

Here is the example code in both Python and Ruby:

Python:
from win32com.client import DispatchEx
import time




def wait(ie):
while ie.Busy: time.sleep(0.1)

doc = ie.Document
while doc.ReadyState != 'complete': time.sleep(0.1)

ie = DispatchEx('InternetExplorer.Application')
ie.Visible = 1
ie.Navigate( 'https://enroll.ou.edu/' )
wait(ie)
ie.Document.forms[0].campus.value='200'
ie.Document.forms[0].campus.fireevent('onchange')

Results:
Traceback (most recent call last):
  File
C:\Python23\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py,
line 310, in RunScript
exec codeObject in __main__.__dict__
  File C:\automation\poScript1.py, line 18, in ?
ie.Document.forms[0].campus.fireevent('onchange')
  File C:\Python23\lib\site-packages\win32com\client\dynamic.py, line
154, in __call__
return
self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
com_error: (-2147024891, 'Access is denied.', None, None)





Ruby:
# OU Registration  Enrollment Online
require 'win32ole'
ie = WIN32OLE.new('InternetExplorer.Application')
ie.visible = true
ie.gohome
ie.navigate('https://enroll.ou.edu/')
while ie.busy
end

READYSTATE_COMPLETE = 4
until
  ie.readyState == READYSTATE_COMPLETE
end
form = ie.document.forms(0)
form.campus.value = '200'
form.campus.fireevent('onchange')

Results: fireEvent was successful and the second listbox was changed

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Win 32 - VB, Ruby, Perl VS Python with fireEvent

2005-03-23 Thread Roger Upole
I don't know why case would make a difference, but if I change
the fireevent call to FireEvent, it works on XP sp2.
It also works if you generate the makepy wrappers (probably
because that forces case-sensitivity)

 hth
 Roger

[EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
 Hello,

 I was wondering if anyone could tell me why fireEvent works in every
 language but Python with the latest Internet Explorer?

 I tried this page that has two listboxes if you select  Listbox A the
 Listbox B should change.

 The code status:
 Works fine with Python 2.3, 2.4 in Windows XPsp1
 DOES not work  Python 2.3, 2.4 XP Sp2 or the lastest IE
 Works fine with RUBY on Win 2000, XP sp1 and XP sp2
 Work fine with PERL on on Win 2000, XP sp1 and XP sp2

 Luckily I know both Ruby, VB and Perl so I could prove there was a
 problem.

 Here is the example code in both Python and Ruby:

 Python:
 from win32com.client import DispatchEx
 import time




 def wait(ie):
while ie.Busy: time.sleep(0.1)

doc = ie.Document
while doc.ReadyState != 'complete': time.sleep(0.1)

 ie = DispatchEx('InternetExplorer.Application')
 ie.Visible = 1
 ie.Navigate( 'https://enroll.ou.edu/' )
 wait(ie)
 ie.Document.forms[0].campus.value='200'
 ie.Document.forms[0].campus.fireevent('onchange')

 Results:
 Traceback (most recent call last):
  File
 C:\Python23\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py,
 line 310, in RunScript
exec codeObject in __main__.__dict__
  File C:\automation\poScript1.py, line 18, in ?
ie.Document.forms[0].campus.fireevent('onchange')
  File C:\Python23\lib\site-packages\win32com\client\dynamic.py, line
 154, in __call__
return
 self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
 com_error: (-2147024891, 'Access is denied.', None, None)





 Ruby:
 # OU Registration  Enrollment Online
 require 'win32ole'
 ie = WIN32OLE.new('InternetExplorer.Application')
 ie.visible = true
 ie.gohome
 ie.navigate('https://enroll.ou.edu/')
 while ie.busy
 end

 READYSTATE_COMPLETE = 4
 until
  ie.readyState == READYSTATE_COMPLETE
 end
 form = ie.document.forms(0)
 form.campus.value = '200'
 form.campus.fireevent('onchange')

 Results: fireEvent was successful and the second listbox was changed
 




== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 100,000 
Newsgroups
---= East/West-Coast Server Farms - Total Privacy via Encryption =---
-- 
http://mail.python.org/mailman/listinfo/python-list