Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web 仅当在浏览器窗口(UFT)上肉眼可见时,才能识别对象_Web_Qtp_Hp Uft - Fatal编程技术网

Web 仅当在浏览器窗口(UFT)上肉眼可见时,才能识别对象

Web 仅当在浏览器窗口(UFT)上肉眼可见时,才能识别对象,web,qtp,hp-uft,Web,Qtp,Hp Uft,我们正在使用UFT/QTP自动化web应用程序。问题是UFT只对那些在浏览器窗口部件中看到的web对象起作用。如果页面底部有任何对象/元素,需要在窗口中向下滚动才能看到。UFT无法处理这些对象。我们已经编写了代码来向下翻页处理这些对象。它很好用。但有时当页面非常长,我们不知道对象在页面中间的位置,或者页面最底部的位置等。在这种情况下,只有向下翻页不起作用。我们有没有办法根据对象属性使对象可见?这意味着我们可以将对象放在窗口前面。如果您的滚动pageup或pagedown代码已经运行,为什么不使用

我们正在使用UFT/QTP自动化web应用程序。问题是UFT只对那些在浏览器窗口部件中看到的web对象起作用。如果页面底部有任何对象/元素,需要在窗口中向下滚动才能看到。UFT无法处理这些对象。我们已经编写了代码来向下翻页处理这些对象。它很好用。但有时当页面非常长,我们不知道对象在页面中间的位置,或者页面最底部的位置等。在这种情况下,只有向下翻页不起作用。我们有没有办法根据对象属性使对象可见?这意味着我们可以将对象放在窗口前面。

如果您的滚动pageup或pagedown代码已经运行,为什么不使用循环

Set obj = Browser(..).page(..).Link(..) ' use your object

While obj.getROProperty("visible") = False
    'Scroll code
Wend

如果您的滚动上下翻页代码已经运行,为什么不使用循环

Set obj = Browser(..).page(..).Link(..) ' use your object

While obj.getROProperty("visible") = False
    'Scroll code
Wend

UFT不取决于对象是否在视图中。如果对象从视图中滚出,UFT将在对其执行任何操作之前自动将其滚入视图(例如,
单击

您所描述的行为可能是由以下事实引起的:当页面滚动时,网站会动态地将对象添加到。如果是这种情况,那么UFT无法知道是什么原因导致对象被添加到DOM中,您必须滚动查看您一直在做的事情


很抱歉,我无法带来更好的消息:(

UFT不取决于对象是否在视图中。如果对象从视图中滚动出去,UFT将在对其执行任何操作之前自动将其滚动到视图中(例如,
单击

您所描述的行为可能是由以下事实引起的:当页面滚动时,网站会动态地将对象添加到。如果是这种情况,那么UFT无法知道是什么原因将对象添加到DOM中,您必须滚动到您一直在做的事情中


很抱歉,我无法带来更好的消息:(

我曾经遇到过类似的问题。对我来说,将Replaytype设置更改为“鼠标事件”起到了作用。 在执行任何操作(例如单击对象)之前,请尝试将ReplayType更改为鼠标事件,如下所示:

Settings.WebPackage("ReplayType") = 2    'Changes to mouse/device events mode
'Perform the Click Operation here
Settings.WebPackage("ReplayType") = 1     'Change back to Browser events mode
有关ReplayType的其他信息:

此设置允许我们更改鼠标操作的方式 发生在AUT上。它可以是浏览器事件或鼠标事件。 Browser事件类似于使用Browser方法的DOM事件, wheras鼠标事件模拟实际用户操作 键盘或鼠标。例如,如果您在 ReplayType是鼠标,您会注意到鼠标指针移动到 按钮的位置并触发事件,但在浏览器事件中 没有

replaytype的值可以是:

1–活动

2–鼠标

默认情况下,它设置为事件,即1


我曾经遇到过类似的问题。对我来说,将Replaytype设置更改为鼠标事件起到了作用。 在执行任何操作(例如单击对象)之前,请尝试将ReplayType更改为鼠标事件,如下所示:

Settings.WebPackage("ReplayType") = 2    'Changes to mouse/device events mode
'Perform the Click Operation here
Settings.WebPackage("ReplayType") = 1     'Change back to Browser events mode
有关ReplayType的其他信息:

此设置允许我们更改鼠标操作的方式 发生在AUT上。它可以是浏览器事件或鼠标事件。 Browser事件类似于使用Browser方法的DOM事件, wheras鼠标事件模拟实际用户操作 键盘或鼠标。例如,如果您在 ReplayType是鼠标,您会注意到鼠标指针移动到 按钮的位置并触发事件,但在浏览器事件中 没有

replaytype的值可以是:

1–活动

2–鼠标

默认情况下,它设置为事件,即1


我们已经在使用它了..否则UFT在应用程序上根本不起作用。我们已经在使用它..否则UFT在应用程序上根本不起作用。你是对的..UFT会自动这样做..但不幸的情况是(如果以视觉方式扫描对象而不是使用对象属性,也可能会出现问题…您是对的..UFT会自动执行此操作..但不幸的情况是(如果以视觉方式扫描对象而不是使用对象属性,也可能会出现问题……这是我们实现的最终解决方案,但不是健壮且非常有效的解决方案。有时,由于页面向下,它会将对象带到页面边界。在这种情况下,它的动态行为有时会像works或sometim一样es不是..这就是为什么,我一直在寻找一些可以直接作用于对象使其可见的东西..但似乎不可能..这是我们实现的最终解决方案,但不是健壮且非常有效的解决方案..有时由于页面向下,它会将对象带到页面边界..在这种情况下,它的行为是dynaMicaly like有时工作有时不工作这就是为什么,我一直在寻找可以直接作用于对象使其可见的东西但似乎不可能。。