Парсинг и доступ к элементам Dom со страницы HTML, полученной через Ajax XHR Запрос на получение - PullRequest
0 голосов
/ 07 декабря 2018

Мы пытаемся получить доступ к различным элементам DOM из полных HTML-страниц, которые извлекаются удаленно с помощью запроса XHR GET.

var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.example.com/test.html", true);

xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    var newdom = xhr.responseText;
    var val_result = newdom.a_div.innerText;
    // we want to access the text within this div, from the fetched html page?
  }
}

xhr.send();

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Достаточно легко вы могли бы сделать это:

var xhr = new XMLHttpRequest()
xhr.open('GET', '/11878931/parsing-i-dostup-k-elementam-dom-so-stranitsy-html-poluchennoi-cherez-ajax-xhr-zapros-na-poluchenie', true)

xhr.onreadystatechange = function () {
  if (xhr.readyState === 4) {
    var dom = new DOMParser().parseFromString(xhr.responseText, 'text/html')
    console.log(dom.querySelector('#question-header h1').innerText)
  }
}

xhr.send()

Если вы скопируете этот код как есть в консоли браузера, он напечатает заголовок вашего вопроса StackOverflow!Просто используйте переменную dom для запроса искомого элемента.

0 голосов
/ 07 декабря 2018

Вам нужно создать элемент с

const el=document.createElement('div')

, затем назначить его innerhtml

el.innerHTML = newdom

Тогда вы сможете получить доступ к узлам

...