[英]How to click 'SwfObject' using UFT?
我想单击一个链接[Link name is 'Settlement']
,该页面上有许多链接。
注意:对象间谍没有将“解决”标识为链接,而是将其视为资源管理器栏。 当我监视“结算”文本时,它会突出显示整个资源管理器栏,因此我无法获得“结算”特定的属性。 [请参阅随附的屏幕截图。 出于安全原因,我无法上传真实的屏幕截图]。
通过录制,我可以单击“结算”链接
SwfWindow("Platform Integration Exchange").SwfObject("mainExplorerBar").Click 133,598
当前,133和598是“结算”的硬编码值,但将来“结算”的位置可能会更改。
因此,我想知道,如何使用X和Y坐标单击“解决”链接,而Object spy无法单独识别“解决”链接?
还是有其他方法可以单击这些类型的对象?
谢谢恩卡
在这种情况下,我建议使用虚拟按钮对象。
在您的UFT中,转到:
工具>虚拟对象>新建虚拟对象
选择“按钮” ,然后单击“标记对象”按钮。 将会出现一个十字形光标并标记您要映射的对象。 在您要单击的坐标中选择区域。
完成后,单击“下一步” 。
选择虚拟对象的父对象,然后单击“下一步” 。
将按钮命名为“ myButton ”,并命名要在其中存储虚拟对象的集合,然后单击“完成” 。
现在,您可以在脚本中使用“ myButton ”按钮:
SwfWindow("Platform Integration Exchange").VirtualButton("myButton").Click
使用Insight对象。 在我的项目中,我们正在使用swf应用程序。 对于应用程序中的一部分,虽然它是应用程序的主要部分之一,但并未得到识别。 因此,我们使用Insight对象。 它工作得很好。
其他
仅当单独标识为Swf对象时,才能使用Click方法
语法为:object。单击[X],[Y],[BUTTON]
X,Y,BUTTON是可选的。 默认情况下,它会左键单击。
X,Y是坐标。
如果您想单击其他按钮,请使用以下命令。
0=micLeftBtn
1=micRightBtn
2=micMiddleBtn
对于LeftClick: SwfWindow("Form1").SwfObject("Object1").Click
右键单击: SwfWindow("Form1").SwfObject("Object1").Click 1,1,1
对于中间单击: SwfWindow("Form1").SwfObject("Object1").Click 1,1,2
我在powerbuilder应用程序中遇到同样的问题,并且使用以下功能。 我已根据您的要求进行了修改
公共功能CLICKTEXTINSIDEOBJECT
Dim OperatedObject
Dim X1, X2, Y1, Y2
X1=0
X2=0
Y1=0
Y2=0
'get the object
Set OperatedObject = SwfWindow("Platform Integration Exchange").SwfObject("mainExplorerBar")
'get the co-ordinates of the text to be clicked
OperatedObject.GetTextLocation "Settlement",X1,Y1,X2,Y2
''Check if the Co-ordinates are assigned
if ((X1 > 0) or (Y1 > 0)) then
OperatedObject.Click (X1 + X2)/2, (Y1+Y2)/2
CLICKTEXTINSIDEOBJECT = true
Else
CLICKTEXTINSIDEOBJECT = false
End If
结束功能
以下是有关GetTextLocation对象的描述
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.