Javascript XPathEvaluator未定义’;通过Selenium和Java使用IEDriverServer和Internet Explorer在Microsoft Dynamics CRM中出现脚本错误

Javascript XPathEvaluator未定义’;通过Selenium和Java使用IEDriverServer和Internet Explorer在Microsoft Dynamics CRM中出现脚本错误,javascript,java,selenium,dynamics-crm,internet-explorer-11,internet-explorer,internet-explorer-10,microsoft-edge,Javascript,Java,Selenium,Dynamics Crm,Internet Explorer 11,Internet Explorer,Internet Explorer 10,Microsoft Edge,我正在使用SeleniumJava测试一个CRM应用程序。 CRM应用程序上有一个按钮,单击该按钮将打开一个新窗口。 当我运行此功能的测试时,新窗口打开,出现脚本日志错误,正文中显示 ReferenceError:“XPathEvaluator”在(某些http资源)处未定义 但是,当我手动尝试相同的功能时,它工作正常,不会导致任何错误。 我试图理解的是,xpatheevaluator是未定义的错误的原因 如能帮助您理解此错误,我们将不胜感激。或者一些关于我可以从哪里开始调查的提示 我已经检查了

我正在使用SeleniumJava测试一个CRM应用程序。 CRM应用程序上有一个按钮,单击该按钮将打开一个新窗口。 当我运行此功能的测试时,新窗口打开,出现脚本日志错误,正文中显示

ReferenceError:“XPathEvaluator”在(某些http资源)处未定义

但是,当我手动尝试相同的功能时,它工作正常,不会导致任何错误。 我试图理解的是,xpatheevaluator是未定义的错误的原因

如能帮助您理解此错误,我们将不胜感激。或者一些关于我可以从哪里开始调查的提示

我已经检查了点击按钮和打开窗口所涉及的XPath。它们是正确的定位器

我正在使用的版本:

  • 硒:3.14
  • IE:11
此错误消息

ReferenceError: 'XPathEvaluator' is undefined
…表示在Javascript中处理XML时发生引用错误

@nzakas(Wrox作者)在其著作《面向Web开发人员的专业Javascript》中提到的Javascript中的XML处理部分中提到,历史上有一些浏览器无法与
xpatheevaluator
配合使用。他进一步指出,用户应使用与特定文档相关的相应方法来弥补这些浏览器的不足

特别是,它是目前唯一不支持xpatheevaluator的浏览器。您可以在DOM文档对象上使用
selectNode()
selectSingleNode()
(仅适用于IE)


这个用例 根据文章,此
xpatheevaluator未定义
脚本错误在升级到后的Microsoft Dynamics CRM 2011中经常出现。进一步的调查显示,任何包含
ClientGlobalContext.js
(用于获取父表单的上下文)的HTML资源都会抛出错误。错误
SCRIPT5009:'xpatheevaluator'未定义


解决方案 快速解决方案是在引用特定JS文件的自定义HTML文档的
中添加以下行:


这一行脚本用于强制浏览器在模式下运行web资源

注意事项:缺点是此功能将在年贬值,这是微软最新发布的Internet Explorer替代品


这里几乎没有什么信息。我建议您在出现问题的代码之前记录XPathEvaluator结果,并验证动态生成页面内容的常见情况。如果这是一个初学者的问题,我很抱歉,但您说出现错误是因为CRM与IE-11不兼容。这并不能解释为什么我在尝试手动操作时不会出现同样的错误?只有在我运行测试时才会出现脚本错误?@PratikshaB您阅读了完整的答案了吗?您是否浏览了答案中的不同链接和文档?
<meta http-equiv="X-UA-Compatible" content="IE=10" />