51Testing软件测试论坛

标题: 【求救】WebElement控件怎么动态取到里面的值 [打印本页]

作者: 5555    时间: 2006-11-27 20:46
标题: 【求救】WebElement控件怎么动态取到里面的值
今天在录制脚本的时候遇到一个百思不得其解的问题。 页面如图。

录制思路:根据“可用数量”字段的值来填写“出库数量”,即保证 出库数量<= 可用数量

步骤:
1、正常录制脚本。
2、在该页面中的“可用数量”中右击添加对象,名为WebElement("SelectKCT_PCKCMKList:_ctl2:txtSHSL_2"),添加时innerText值为:1
3、为得到该字段的动态值,所以用GetROProperty 属性,代码如下:
dim a
set a=browser("选择批次库存").Page("选择批次库存").WebElement("SelectKCT_PCKCMKList:_ctl2:txtSHSL_2").GetROProperty("innerText")

4、现设置 出库数量=可用数量 (该断代码就不写了)。

问题:
 在调试过程中: a的值永远等于1, 实际上动态的值应该是为:0

这个问题想了一个晚上还是没有想通把能用的属性基本上都用上了,还是不行。所以把这个问题贴出来,希望大家能帮帮忙,小弟先谢过了~

[ 本帖最后由 5555 于 2010-7-29 10:59 编辑 ]
作者: 5555    时间: 2006-11-27 22:35
在线等待中……
作者: denisye    时间: 2006-11-28 09:18
抓取此对象的上一级WebTable对象,使用WebTable的GetCellData取得此WebElement的值
作者: adiao    时间: 2006-11-28 10:31
看了denisye (denisye)版主的回复。我的一个问题解决了,高兴ing
原来求助帖子的链接 http://bbs.51testing.com/thread-49134-1-3.html
作者: maguschen    时间: 2006-11-28 10:40
按照斑竹所说就可以了,不过我补充一点~细化一下

可以这样子:用类似的句子取得你想要的数值,

  1. strTableContent = browser("").Page("").GetCellData(intTableRow,intTableColumn)
复制代码


按照你给的界面,如果想取得下一个行的值只需要 intTableRow = intTableRow + 1 就可以了,如果返回 micCellDoesNotExist 就停止循环. sdlkfj5
作者: 5555    时间: 2006-11-28 13:26
太感谢~, 多谢denisye 、maguschen二位,我的问题解决了。

昨天一直用webelement控件,尝试了几乎所有的属性,都不行。今天按二位的说法用 webTable控件来直接取单元格,一下就搞定了,再次感谢!

随便带一句:WebTable的行跟列都是从1开始取的,记得不是从0开始噢,呵呵。

把解决的脚本也帖出来:
var_accessKey = Browser("选择批次库存").Page("选择批次库存").WebTable("明细ID").GetCellData(2,11)

[ 本帖最后由 5555 于 2006-11-28 13:28 编辑 ]
作者: s114747867    时间: 2009-2-25 11:51
dsafdsafdsafdsafdsfdsafdsafd
作者: sd526    时间: 2010-8-6 15:31
借鉴了,我正好也遇到这个问题!已经解决。
作者: a122653259    时间: 2011-4-6 09:01
我也需要动态获取webelement中innertext的值,可是我用webtable().getcelldata(1,2)  后报错,提示说“缺少对象 ;“string 单号” ”,单号就是webelement中innertext的值
这是为什么呢,该怎么解决呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2