[IronPython] IronPython and C# not giving the same result

Lukas Cenovsky cenovsky at bakalari.cz
Thu Jun 17 10:52:13 CEST 2010


I tried your IronPython script and it found one child element which name 
is ''.

Change the print line to:
print 'Name:',  ae.Current.Name

--
-- Lukás(


yngipy hernan wrote:
> Hi,
>
> All root elements are ok. Thus say, i can see all (?) of the root 
> elements.
>
> But not when trying to iterate child elements of the Notepad 
> automation element.
>
> My Info:
> W7 32 bit (UAC disabled)
> .Net 4.0
>
> On Wed, Jun 16, 2010 at 10:08 AM, Lepisto, Stephen P 
> <stephen.p.lepisto at intel.com <mailto:stephen.p.lepisto at intel.com>> wrote:
>
>     I was able to successfully run that python code under both
>     IronPython 2.0.3 and IronPython 2.6.1 and it produced a list of
>     all top-level applications.  I modified the one line
>
>      
>
>     if rae.Current.Name <http://rae.Current.Name> == 'Untitled - Notepad':
>
>      
>
>     to be
>
>      
>
>     if not rae.Current.Name <http://rae.Current.Name> == '':
>
>      
>
>     just to see what was actually being found.
>
>      
>
>     Note: I'm running Windows XP SP3.
>
>      
>
>     *From:* users-bounces at lists.ironpython.com
>     <mailto:users-bounces at lists.ironpython.com>
>     [mailto:users-bounces at lists.ironpython.com
>     <mailto:users-bounces at lists.ironpython.com>] *On Behalf Of *yngipy
>     hernan
>     *Sent:* Tuesday, June 15, 2010 10:09 PM
>     *To:* Discussion of IronPython
>     *Subject:* [IronPython] IronPython and C# not giving the same result
>
>      
>
>     Hi All,
>
>      
>
>     I have tried to transliterate the following C# code to IronPython:
>
>      
>
>     using System;
>
>     using System.Collections.Generic;
>
>     using System.Linq;
>
>     using System.Text;
>
>     using System.Windows.Automation;
>
>      
>
>     namespace ConsoleApplication1
>
>     {
>
>         class Program
>
>         {
>
>             static void Main(string[] args)
>
>             {
>
>                 AutomationElement eNode;
>
>                 eNode =
>     TreeWalker.ControlViewWalker.GetFirstChild(AutomationElement.RootElement);
>
>                 while(eNode != null) {
>
>                     if (eNode.Current.Name <http://eNode.Current.Name>
>     == "Untitled - Notepad")
>
>                     {
>
>                         AutomationElement ae;
>
>                         ae =
>     TreeWalker.ControlViewWalker.GetFirstChild(eNode);
>
>                         System.Console.WriteLine("-------------------");
>
>                         while (ae != null)
>
>                         {
>
>                             System.Console.WriteLine("Name: {0}",
>     ae.Current.Name <http://ae.Current.Name>);
>
>                             ae =
>     TreeWalker.ControlViewWalker.GetNextSibling( ae);
>
>                         }
>
>                         System.Console.WriteLine("-------------------");
>
>                     }
>
>                     eNode =
>     TreeWalker.ControlViewWalker.GetNextSibling(eNode);
>
>                 }
>
>             }
>
>         }
>
>     }
>
>      
>
>     The output of this program looks like:
>
>      
>
>     -------------------
>
>     Name: test1
>
>     Name: Untitled - Notepad
>
>     Name: Application
>
>     -------------------
>
>      
>
>     This is my IronPython code:
>
>      
>
>     import clr
>
>      
>
>     clr.AddReference('UIAutomationTypes')
>
>     clr.AddReference('UIAutomationProvider')
>
>     clr.AddReference('UIAutomationClient')
>
>      
>
>     import System.Windows.Automation as swu
>
>      
>
>     rae = swu.TreeWalker.ControlViewWalker.GetFirstChild(
>     swu.AutomationElement.RootElement )
>
>     while rae:
>
>         if rae.Current.Name <http://rae.Current.Name> == 'Untitled -
>     Notepad':
>
>             print '-'*24
>
>             ae = swu.TreeWalker.ControlViewWalker.GetFirstChild( rae )
>
>             while ae:
>
>                 print ae.Current.Name <http://ae.Current.Name>
>
>                 ae = swu.TreeWalker.ControlViewWalker.GetNextSibling( ae )
>
>             print '-'*24
>
>         rae = swu.TreeWalker.ControlViewWalker.GetNextSibling( rae )
>
>      
>
>     The output of this shows:
>
>     ------------------------
>
>     test1
>
>     ------------------------
>
>      
>
>     I read somewhere that IronPython used to have issues with UI
>     Automation. Is still the case?
>
>      
>
>     Regards,
>
>     Yngipy
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>     http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100617/c07634f2/attachment.html>


More information about the Ironpython-users mailing list