我正在使用Selenium Java测试CRM应用程序。CRM应用程序上有一个按钮,单击该按钮会打开一个新窗口。当我运行此功能的测试时,将打开新窗口,并在正文中显示一个Script Log Error,
ReferenceError:'XPathEvaluator'在(某些http资源)中未定义
但是当我手动尝试相同的功能时,它可以正常工作,不会引起任何错误。我想了解的是什么原因导致XpathEvaluator未定义错误。
任何帮助您理解此错误的信息,我们将不胜感激。或一些提示,说明我可以从哪里开始调查。
我已经检查了单击按钮并打开窗口所涉及的xpath。他们是正确的定位器。
我正在使用的版本:
此错误消息...
ReferenceError: 'XPathEvaluator' is undefined
...表示Javascript中的XML处理时有ReferenceError。
@ nzakas(Wrox的作者),在他的书《 [Web开发人员的专业Javascript》的“ [Java语言中的XML处理”部分中,从历史上讲,有些浏览器无法与XPathEvaluator
一起使用。他进一步指出,用户应使用与特定[[Document有关的相应方法,以弥补这些浏览器的不足。
XPathEvaluator
的浏览器。您可以在DOM Document object上使用selectNode()
和selectSingleNode()
(仅用于IE)。此用例
根据文章,Resolving the Error "XPathEvaluator’ is undefined"在升级到XPathEvaluator is undefined
后,通常在ClientGlobalContext.js
(用于获取父窗体的上下文)的HTML资源都将引发错误[错误C0]。解决方案
一种快速的解决方案是将以下行添加到引用该特定SCRIPT5009: ‘XPathEvaluator’ is undefined
中:<head>
script
的这一行用于强制浏览器以<meta http-equiv="X-UA-Compatible" content="IE=10" />
模式运行Web资源。注意:缺点是,此功能将在internet-explorer-10中弃用,C0是Microsoft新发布的
Internet Explorer的替代品。