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