通过IE11上的xPath查找元素。的JavaScript

时间:2019-02-20 14:56:07

标签: javascript internet-explorer xpath

我两天学习JS,所以我没有很多知识可以解决我的问题,需要帮助。 我需要像

一样通过xPath获取元素
docHTML.evaluate(elementName, docHTML.body, null, XPathResult.ANY_TYPE, null).singleNodeValue

但是问题是我只需要使用IE 11。 我知道,IE不支持xPath,但是我可以使用ActionXObject找到其他方式。

我在How do you run an xPath query in IE11?上找到了这个想法,但我无法运行此代码。

我尝试

var doc = new ActiveXObject('Microsoft.XMLDOM'); 
doc.loadXML(window.XMLDocument); 
var node = doc.selectSingleNode('//div');
alert(node);

但没有成功。

也许我没有正确获取XML文档,或者没有问题?

1 个答案:

答案 0 :(得分:0)

此代码将在简单的页面上运行。在google.com上,他给了我〜145的结果。

xmlDoc = new ActiveXObject("MSXML.DOMDocument");
var docHTML = window.document.documentElement;
var yourString = new XMLSerializer().serializeToString(docHTML);
xmlDoc.loadXML(yourString);
var node = xmlDoc.selectNodes('//div');
node.length

但是在更多困难的站点上,loadXML会以错误的值下降。