我两天学习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文档,或者没有问题?
答案 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会以错误的值下降。