[XPathEvaluator是未定义的,在Microsoft Dynamics CRM中使用IEDriverServer和Internet Explorer通过Selenium和Java的脚本错误

问题描述 投票:0回答:1

我正在使用Selenium Java测试CRM应用程序。CRM应用程序上有一个按钮,单击该按钮会打开一个新窗口。当我运行此功能的测试时,将打开新窗口,并在正文中显示一个Script Log Error

ReferenceError:'XPathEvaluator'在(某些http资源)中未定义

但是当我手动尝试相同的功能时,它可以正常工作,不会引起任何错误。我想了解的是什么原因导致XpathEvaluator未定义错误。

任何帮助您理解此错误的信息,我们将不胜感激。或一些提示,说明我可以从哪里开始调查。

我已经检查了单击按钮并打开窗口所涉及的xpath。他们是正确的定位器。

我正在使用的版本:

  • 硒:3.14
  • IE:11
javascript java selenium dynamics-crm internet-explorer-11
1个回答
0
投票

此错误消息...

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后,通常在
Microsoft Dynamics CRM 2011]中观察到此脚本错误。进一步的调查显示,任何包含ClientGlobalContext.js(用于获取父窗体的上下文)的HTML资源都将引发错误[错误C0]。

解决方案

一种快速的解决方案是将以下行添加到引用该特定
JS文件的自定义HTML文档的SCRIPT5009: ‘XPathEvaluator’ is undefined中:

<head>

script

的这一行用于强制浏览器以<meta http-equiv="X-UA-Compatible" content="IE=10" /> 模式运行Web资源。

注意:缺点是,此功能将在中弃用,C0是Microsoft新发布的

Internet Explorer的替代品。
© www.soinside.com 2019 - 2024. All rights reserved.