QTP如何从网页保存图像

时间:2011-08-08 12:16:54

标签: image vbscript qtp

我想知道是否可以模拟过程:右键单击图像 - >点击弹出菜单上的“将图像另存为...” - >将图像保存在本地。

我尝试了CaptureBitmap()函数,但结果只是QTP拍摄的截图,而不是与上面的过程相同的图像文件。

还有其他方法吗?非常感谢提前。

阿伦

1 个答案:

答案 0 :(得分:3)

我想这取决于你想做什么。如果要比较位图,则CaptureBitmap选项应该有效。如果您想比较图片的路径,可以使用Image("x").GetROProperty("src")

如果您确实要保存src图像文件,那么遗憾的是QTP不提供与浏览器上下文菜单交互的方法。您可以尝试使用某些第三方机制从src网址下载图片(例如wget)。


编辑:我只是想到了另一个想法,我不在工作,所以我无法验证它是否可行,但我很确定它会。

首先显示上下文菜单,为此,您必须将重播模式更改为设备并运行RightClick操作。

 replayType = Setting.WebPackage("ReplayType") ' Store old replay mode
 Setting.WebPackage("ReplayType") = 2 ' change to device replay mode
 Browser("b").Page("p").Image("I").RightClick
 Setting.WebPackage("ReplayType") = replayType ' Revert to old mode

然后将字母 v 发送到浏览器,该浏览器将使用device replay object

选择Save菜单项(在IE和Firefox上)
Set deviceReplay = CreateObject( “Mercury.DeviceReplay” )
deviceReplay.SendString "v"

现在与保存对话框进行交互,作为通常的Win32控件。

道德:永远不要低估QTP如果你努力尝试会让你做什么