51Testing软件测试论坛

标题: 为什么sendkeys 的Page Down对网页不起作用呢 [打印本页]

作者: boblla    时间: 2007-11-9 11:02
标题: 为什么sendkeys 的Page Down对网页不起作用呢
代码如下:
Dim objWshShell
Dim iPress

Set objWshShell=CreateObject ("Wscript.Shell")

Window ("Microsoft Internet Explorer").Activate

For iPress=1 to 5
   objWshShell.Sendkeys ("{PGDN}")
   wait 0.5
Next

如果我激活其他窗口,比如带滚动条的Help,上面的代码是可以实现翻页的,求助各位高人。
作者: hsjzfling    时间: 2007-11-9 11:31
<<Window ("Microsoft Internet Explorer").Activate

你确定这个Window可以翻页么?
作者: boblla    时间: 2007-11-9 11:37
我是这样试验的:事先打开好一个有滚动条的网页,Window ("Microsoft Internet Explorer").Activate只是让脚本跑起来的时候把那个网页launch到最前面来,运行的结果是页面根本没有向下滚动。 我同样试验了把例如Help的窗口launch到最前面,却是可以实现翻页的。
作者: hsjzfling    时间: 2007-11-9 15:04
你确定Window ("Microsoft Internet Explorer")是个网页么?并且Activate方法是否确实把你的测试窗口激活为当前窗口?
作者: boblla    时间: 2007-11-9 15:15
可以激活,,,另外我甚至可以手动激活来进行这个测试验证

Dim objWshShell
Dim iPress

Set objWshShell=CreateObject ("Wscript.Shell")

Wait 3 '在这等待的三秒内我手动把Web页激活为当前窗口,以便执行下面的语句

For iPress=1 to 5
   objWshShell.Sendkeys ("{PGDN}")
   wait 0.5
Next

但是结果webpage仍旧不能翻页,不知道问题到底出现在哪里。
作者: hsjzfling    时间: 2007-11-9 15:20
那你手动模拟下程序的执行操作看看是否会翻页吧,注意你激活网页时点的网页中的位置不同(Page中的不同对象),得到的结果可能是不同的
作者: boblla    时间: 2007-11-9 15:23
Sorry, 我又试验了一下以上那个脚本,发现这个问题在其他的网页上不能重现(e.g. http://www.msn.com,是好的),而只是发生在我一直测的yahoo的主页(http://www.yahoo.com)。所以代码应该是没问题的,应该是yahoo的网站的问题,原因就不得而知了。
作者: boblla    时间: 2007-11-9 16:24
谢谢hsjzfling,你提到的“激活网页时点的网页中的位置不同”确实是造成问题的根源,因为我发现每次激活yahoo的主页后,鼠标的焦点总是停留在网页头部的那个WebEdit里,而这种情况下PageDown是不能工作的。




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