Javascript 如何在TestComplete中使用QuerySelector方法

Javascript 如何在TestComplete中使用QuerySelector方法,javascript,css-selectors,jscript,testcomplete,selectors-api,Javascript,Css Selectors,Jscript,Testcomplete,Selectors Api,我不知道QuerySelector方法是如何工作的。我已经看到了SmartBear帮助的示例,但在我的应用程序中遇到了问题。我认为它的工作方式与Find方法相同 例如,当我想映射标签时,“查找”方法的工作原理如下: warningLabel= webPagePanel.Find("objectIdentifier", "MainContent_NotificationText", 100, true); 当我尝试使用QuerySelector方法映射同一对象时,它不起作用: warningLa

我不知道QuerySelector方法是如何工作的。我已经看到了SmartBear帮助的示例,但在我的应用程序中遇到了问题。我认为它的工作方式与Find方法相同

例如,当我想映射标签时,“查找”方法的工作原理如下:

warningLabel= webPagePanel.Find("objectIdentifier", "MainContent_NotificationText", 100, true);
当我尝试使用QuerySelector方法映射同一对象时,它不起作用:

warningLabel= webPagePanel.QuerySelector("#MainContent_NotificationText");
我尝试在上面的QuerySelector行之后使用QuerySelector warningLabel(例如,
warningLabel.Click
),然后测试失败,日志显示“需要对象”。显然它没有找到我的目标

我做错了什么?如何准确地使用QuerySelector方法进行如上所示的简单标签映射?有问题的标签具有以下HTML

INPUT "name=ctl00$MainContent$NotificationText" id="MainContent_NotificationText" type=hidden value="To save a partial filter set for this report, the required fields identified above must not be blank." 

您尝试查找的对象不可见(输入…type=“hidden”),TestComplete不会在其对象树中显示不可见的对象。如果只需要获取此隐藏框的值,则可以使用querySelector方法的本机版本:

  var warningLabel_Native = webPagePanel.contentDocument.querySelector("#MainContent_NotificationText");
  Log.Message(warningLabel_Native.value);

在这种情况下,您将获得没有TestComplete特定成员的本机对象,如Click()、Find()、VisibleOnScreen等。但是,所有本机功能都将为您提供。

@ebyrob:这个问题不是关于JavaScript的
文档。querySelector
,它是关于TestComplete(一种测试工具)中的
QuerySelector
函数的。方法仅在网页上定义,例如,
Sys.Browser().Page(“http://example.com“”。查询选择器(…)
。你的
webPagePanel
对象是一个页面吗?我让它工作了。起初,我将webPage对象与QuerySelector一起使用。由于某些原因,我无法对整个页面使用QuerySelector,例如webPage=alias.iexplore.IEWEBPAGE。然后webPage.QuerySelector不工作。因此,我使用了我在原始帖子中展示的面板,它现在可以工作了,例如webPagePanel=alias.iexplore.IELOA.FIND(“ObjectIdentifier”,“webPagePanel”)…然后webPagePanel.QuerySelector工作了。