ls_721521 发表于 2008-12-17 16:46:38

选择不到下拉表中的数据

下拉表中的数据是我参数化的,每次数据都变化。现在想选取下拉表中的数据,点击后取不到值,见代码:

data=browser("").Page("").WebTable("innertext:="&cont,"index:=1").GetCellData(2,1)

Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1").highlight‘点亮的是整个下拉表

Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1").click   ’因为点击的是整个下拉表,所以没有选择到要选的数据

用 browser("").Page("").webtable("qtp").ChildItem(2,1,"link",0).click 也是一样的效果
下面是截图

blueeagle9999 发表于 2008-12-17 22:55:23

用sendkeys {down}如何?

ls_721521 发表于 2008-12-18 09:30:21

现在的问题是 Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1") 根本没有选中表里的数据,而是选的整个表。

david208 发表于 2008-12-18 11:31:37

怎么跳过了weblist ?如果有,可以用
weblist.getitem(i)试下

ls_721521 发表于 2008-12-18 13:10:28

没有weblist...

ltp401128401128 发表于 2008-12-18 13:31:33

Set wshSehll = CreateObject("WScript.shell")
Browser("").Page("").WebElement("innertext:="&data,"rowSpan:=1","index:=1").highlight
wshSehll.SendKeys("{DOWN}")

楼主把这个方式加入到脚本里面去调试一下,看能不能选中你想要的数据呢?

ls_721521 发表于 2008-12-18 14:11:22

回复 5# 的帖子

用SendKeys("{DOWN}")应该可以的 谢谢了
我的数据在下拉表第二行所以用了2个
wshSehll.SendKeys("{DOWN}")
wshSehll.SendKeys("{DOWN}")
但还有个问题,键盘选中后这个下拉表不关闭,导致以后的步骤不能执行。

wugecat 发表于 2008-12-18 15:27:57

用FireEvent "onmouseover"试一下

asoqa 发表于 2008-12-18 16:05:03

回复 7# 的帖子

兄弟,你一直按方向键,没有回车也没有做点击操作,当然下拉表关闭不掉啊。

ls_721521 发表于 2008-12-18 16:06:20

回复 8# 的帖子

谢谢,不过这个方法也不行
接着7#的话题:键盘选中后这个下拉表不关闭,导致以后的步骤不能执行。
现在我把关闭下拉框的步骤插进去再进行下面的步骤还是不行。用同步点等待下面的对象,执行后无操作。

ls_721521 发表于 2008-12-18 16:08:28

回复 9# 的帖子

我按回车了,只是刚才没贴出来
wshSehll.SendKeys("{DOWN}")
wshSehll.SendKeys("{DOWN}")
WshShell.SendKeys "{ENTER}" ‘这个是回车吧

wugecat 发表于 2008-12-18 16:33:55

回复 10# 的帖子

不会吧~
你那条“132”的记录难道不能单独添加成两个WebElement吗?一个是变色前的,一个是变色后的,然后用FireEvent "onmouseover移动到没变色的,再click变色的

asoqa 发表于 2008-12-18 16:34:14

那说明你的程序不响应回车事件,需要模拟鼠标点击

ls_721521 发表于 2008-12-18 16:38:30

回复 12# 的帖子

"132"是我参数化的数据,对象库中没有对象

ls_721521 发表于 2008-12-18 16:40:47

回复 13# 的帖子

“模拟鼠标点击”咋模拟呀?

ls_721521 发表于 2008-12-18 16:44:26

赫!!我升高级战友了!

wugecat 发表于 2008-12-18 16:44:58

回复 14# 的帖子

对象库没有就另外添加一个。。我刚刚遇到了一个类似你这样的问题,就是这么解决的

ls_721521 发表于 2008-12-18 16:48:50

回复 17# 的帖子

"132"是excel里导入的数据,添到对象库后要是数据变了不就又识别不了吗!

wugecat 发表于 2008-12-18 16:52:32

回复 18# 的帖子

用SetTOProperty将“132”参数话成当前的就可以了

ls_721521 发表于 2008-12-18 16:59:16

回复 19# 的帖子

对呀,这又回到我在3#说的问题了
页: [1] 2
查看完整版本: 选择不到下拉表中的数据