liulang 发表于 2011-2-15 15:15:10

隐藏按钮的处理问题

web页面,一个输入框,当鼠标移动到上面的时候,在输入框右边会显示该输入框对应的查询按钮,当鼠标不在输入框上时,则不显示此查询按钮
问题在于,必须使鼠标移动到输入框上,qtp有没有实际使鼠标移动的命令,
用过deviceReplay 对象的movemouse 也无效;录制时用记录鼠标轨迹的方法也不行,只要打开web界面,鼠标不能实际移动到输入框上,则不能显示查询按钮。
请教有何解决方法

JonnyGu 发表于 2011-2-15 15:38:00

先改变那个按钮的属性让它显示出来

liulang 发表于 2011-2-15 15:42:25

谢谢
鼠标不移动上去,界面上是没有按钮这个对象的
不知道怎么改变

shingo0109 发表于 2011-2-15 15:48:10

LZ先找出这个button的属性, 再用FireEvent("onmouseover")试试看行不行

liulang 发表于 2011-2-15 15:54:57

试过了,不行的,查询按钮是输入框的一个mouseover事件动态生成的,不移动到上面,界面上实际还没有查询按钮这个对象,所以qtp运行到此句是报错,找不到这个对象。

shingo0109 发表于 2011-2-15 16:02:17

LZ贴个图出来看看~~

liulang 发表于 2011-2-15 16:16:14

鼠标在上:

鼠标移开:

刚试了下,把鼠标提前放那位置是可以的,但这样又没有意义。

shingo0109 发表于 2011-2-15 16:27:19

鼠标移到这个文本框上就会显示这个按钮么?
把FireEvent("onmouseover")用在这个文本框上呢?

liulang 发表于 2011-2-15 16:37:40

开始就是这样做的,关键是实际鼠标不在框上时,会取消查询按钮对象的显示。

JonnyGu 发表于 2011-2-15 16:38:59

那个按钮必然有一个属性是用来控制是否显示的,找到这个属性,改变它的值,让它显示出来,就可以点击了。

liulang 发表于 2011-2-15 16:49:11

前面提过,这个按钮是动态生成的,那个按钮在鼠标移开的情况下,实际上界面上没有这个对象,并不是不显示了。

JonnyGu 发表于 2011-2-15 16:56:24

简单点吧。
抓到那个对象,先对输入框做FireEvent("onmouseover"),然后点击那个按钮,

liulang 发表于 2011-2-15 17:20:11

刚换了另外一个输入框,测试了下,FireEvent("onmouseover")执行后,此输入框应该变色显示的,但并未变色显示。。
wait(5)
Browser("xxx_3").Page("xxx_2").Frame("mainFrame").WebEdit"H_JFJE").FireEvent("onmouseover")
wait(5)
Browser("xxx_3").Page("xxx_2").Frame("mainFrame").WebEdit("H_JFJE").click
运行时看界面,前面一个动作无效果,后面的click动作有效果

阿七 发表于 2011-2-16 10:47:41

click 后面 加坐标   不行么?

liulang 发表于 2011-2-16 11:03:48

不行的。。鼠标不在的话,click的坐标处没有对象
页: [1]
查看完整版本: 隐藏按钮的处理问题