whoamiyaya 发表于 2009-6-21 17:18:04

windows里的计算器的基本操作对象识别失败……

对于window里的计算器,我设置了只打开C:\WINDOWS\system32\calc.exe测这个应用程序,然后在expert view里写了这么一段:
Dim a, b
a = RandomNumber(0,9)
b = RandomNumber(0,9)

Window("Calculator").WinButton("text:=a").Click
Window("Calculator").WinButton("+").Click
Window("Calculator").WinButton("text:=b").Click
Window("Calculator").WinButton("=").Click
Window("Calculator").Close

可是运行到红色那一行就出错了,错误提示以下两种都碰到过:

Cannot find the "[ WinButton ]" object's parent "[ Window ]" (class Window). Verify that parent properties match an object currently displayed in your application.

Cannot identify the object "" (of class WinButton). Verify that this object's properties match an object currently displayed in your application.


这是为什么呢?我是想让calc程序随机点两个数进行相加,winbutton这里用了描述性编程,我觉得应该没错呀,可是就是有问题。。。

lantianwei 发表于 2009-6-21 19:43:27

Window("Calculator").WinButton("text:=a").Click//这里a为字符,而非变量
Window("Calculator").WinButton("text:="&a).Click

whoamiyaya 发表于 2009-6-21 19:57:30

非常谢谢斑竹,明白了:victory:

还有个问题:
Window("Calculator").WinButton("+").Click
加号这里假如我也想用描述性编程,似乎:
Window("Calculator").WinButton("text:=+").Click这样就会出错,该怎么处理加号呢这里。。。

fei.ge 发表于 2009-6-21 21:31:02

貌似用转移字符....

这样写可以通过:
Window("Calculator").WinButton("text:=\+").Click

intothestorm 发表于 2009-6-22 10:17:18

学习了,基本上不用DP,没搞明白为什么要转义?

欧阳 发表于 2009-6-22 12:03:15

回复 5# 的帖子

因为+在vbs的正则表达式中属于特殊字符一类。须要转义

whoamiyaya 发表于 2009-6-26 22:24:40

哦对哦,:=后面的是不是等于就是正则表达式?难怪呢:) 谢谢各位!:)
页: [1]
查看完整版本: windows里的计算器的基本操作对象识别失败……