我遇到UFT问题。我有一个网表。我记录了webtable,然后将网页表从OR拖到编辑器中。
然后我修改如下。单元格1和单元格2返回正确的数据。在细胞内部,我只有文本。
cell1 = Browser("Create").Page("Create").WebTable("First").GetCellData(2,1)
print cell1
cell2 = Browser("Create").Page("Create").WebTable("First").GetCellData(3,1)
print cell2
Browser("Create").Page("Create").WebTable("First").ChildItem(2, 1, "WebElement",0).click
set objLink =Browser("Create").Page("Create").WebTable("First").ChildItem(2, 1, "WebElement",0)
objLink.Click
set objLink =Browser("Create").Page("Create").WebTable("First").ChildItem(2, 1, "Link",0)
objLink.Click
找到webtable并返回数据但不点击该行。如何单击Webtable中的第一行?
答案 0 :(得分:4)
首先,您需要确保webtable的单元格(2,1)中包含链接。为此,检查对象的存在:
set objLink =Browser("Create").Page("Create").WebTable("First").ChildItem(2, 1, "Link",0)
msgbox objLink.Exist(2)
如果它返回True
,那么我们就可以继续前进。
尝试在运行时将 ReplayType 设置更改为2
,如下所示:
set objLink =Browser("Create").Page("Create").WebTable("First").ChildItem(2, 1, "Link",0)
setting.webpackage("replayType") = 2 'Runs mouse operations using the mouse. It will move the mouse pointer physically to the position where click will be performed
objLink.highlight
objLink.click
setting.webpackage("replayType") = 1 'Changing back to Event. Runs mouse operations using browser events.
您也可以从此处手动更改replayType设置:工具>选项>桂测试>网络>高级>运行设置>重播类型
如果这不起作用,您可以触发链接对象上的Click事件,如下所示:
set objLink = Browser("Create").Page("Create").WebTable("First").ChildItem(2, 1, "Link",0)
objLink.highlight
objLink.fireevent "onclick"
即使这不起作用,您也可以尝试以下方法(不推荐使用,但如果我们正确地进行计算,它将起作用)。我们尝试在 对象上找到位置,并在该位置执行 MouseClick 操作。
set objLink = Browser("Create").Page("Create").WebTable("First").ChildItem(2, 1, "Link",0)
objLink.highlight
Set mobj = CreateObject("Mercury.DeviceReplay")
x = objLink.getRoProperty("abs_x") 'x-axis: Returns the position in pixels from the Top left corner of your monitor screen(not the parent object)
y = objLink.getRoProperty("abs_y") 'y-axis: Returns the position in pixels from the Top left corner of your monitor screen(not the parent object)
h = objLink.getRoProperty("height") 'returns height of the link object in pixels
w = objLink.getRoProperty("width") 'returns width of the link object in pixels
mobj.MouseClick Cint(x+h/4),Cint(y+w/4),1 'Try playing with the denominator 4. If you set it 2, it will attempt to click on the middle of the object.
答案 1 :(得分:1)
只需点击行即可获得TR元素
RowNum=1 'The Row Number you want to click
'if the event handled over TR element then use without Replaytype =2
Browser("Create").Page("Create").WebTable("First").WebElement("Html tag:=TR","Index:=" & RowNum-1).Click
'otherwise use with ReplayType = 2
Setting.WebPackage("ReplayType") = 2
Browser("Create").Page("Create").WebTable("First").WebElement("Html tag:=TR","Index:=" & RowNum-1).Click