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.lepi...@intel.com <mailto:stephen.p.lepi...@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-boun...@lists.ironpython.com
    <mailto:users-boun...@lists.ironpython.com>
    [mailto:users-boun...@lists.ironpython.com
    <mailto:users-boun...@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@lists.ironpython.com <mailto:Users@lists.ironpython.com>
    http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


------------------------------------------------------------------------

_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to