为Web应用程序编写自动化脚本,有一个表,
修改后,用户需要单击该单元以启用它。
在用户单击任何单元格之前,没有检测到子项(尝试使用micclass的子项计数-webEdit,webList,webElement-全部返回0)
用户单击单元格后,该单元格将更改为可编辑字段-webedit / weblist-此处childitemcount变为1
因此,单击单元格成为一个核心过程(如果有任何解决方法,请公开以寻求建议)
当前,我单击一个单元格,输入,然后单击下一个单元格,然后再次重复。这是我的代码片段。 Object.rows(row).cells(i).click
在Chrome中不起作用,但是IE正常运行,没有任何问题。
尝试过:
突出显示表格-显示正确的表格
突出显示表格后打印row, i
IE-将为1,0; 1,1; 1,2等等
Chrome浏览器-第一步失败,错误=常规运行错误
将行的值更改为i均为+1(仍不起作用)
代码:
row = 1
rows = dictObject("WEBTBL_ACCDTL_FLOWTBL").GetROProperty("rows")
Arry_userInput = split(userinput,";")
'rows - 1 because of the header
If row <= rows-1 Then
For i = 0 To Ubound(Arry_userInput) Step 1
dictObject("WEBTBL_ACCDTL_FLOWTBL").highlight
dictObject("WEBTBL_ACCDTL_FLOWTBL").Object.rows(row).cells(i).click 'Here Working in IE but not Chrome
set currTxtBox = dictObject("WEBTBL_ACCDTL_FLOWTBL").ChildItem(row+1,i+1,"WebEdit",0)
currTxtBox.Object.focus
currTxtBox.Object.scrollIntoView
If i = 0 or i = 1 or i = 2 or i = 3 or i = 7 Then
Call table_dropdown_set(currTxtBox,Arry_userInput(i))
Else
Call table_txtbox_set(currTxtBox,Arry_userInput(i))
End If
wait 1
Next
wait 1
Msgbox "Input Process Done!"
Else
Msgbox "Please Trigger the button to add new row!"
End If
答案 0 :(得分:1)
我看到您正在使用.Object
来访问单元格,这样做并没有利用UFT的全部功能。您是否尝试过使用Cell
属性?这是UFT的最新版本中添加的,因此您应该检查它是否在您使用的版本中可用。
用法:
Browser("B").Page("P").WebTable("WT").Cell(row, column).Click
与ChildItem
的{{1}}函数不同,WebTable
返回单元格本身的元素,而不是我认为您真正需要的单元格内容。