Найти элемент по xPath на IE11.JavaScript - PullRequest
0 голосов
/ 20 февраля 2019

Я изучаю JS два дня, поэтому у меня мало знаний, чтобы решить свои проблемы, и мне нужна помощь.Мне нужно получить элемент по xPath, как

docHTML.evaluate(elementName, docHTML.body, null, XPathResult.ANY_TYPE, null).singleNodeValue

Но проблема в том, что мне нужно использовать только IE 11. Я знаю, что IE не поддерживает xPath, но я мог бы найти другой путь, используя ActionXObject.

Эта идея, которую я нашел на Как выполнить запрос xPath в IE11? , но я не могу запустить этот код.

Я пытаюсь

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

но не удалось.

Может быть, я неправильно получаю XML-документ или нет проблем?

1 Ответ

0 голосов
/ 21 февраля 2019

Этот код будет работать с простыми страницами.На 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 выпадает с ложным значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...