Разбор HTML из DOM - PullRequest
       1

Разбор HTML из DOM

0 голосов
/ 06 июня 2018

Я пытаюсь разобрать альтернативный текст из следующего HTML-кода, который я получил из Xpath, обозначенного как "FIRST_RECORD_LINK".

<img data-aria-label-part="" src="https://pbs.twimg.com/media/Dc10VX_UwAAJxPM.jpg" alt="Millenials are more likely than Baby Boomers to be living with a disability. 
Provided by the Center for Talent Innovation Disability Inclusion Report."> 

Мой код JavaScript выглядит так:

var FIRST_RECORD_LINK = '//*[@id="stream-item-tweet-999772032685527042"]/div[1]/div[2]/div[3]/div/div/div/div/img';
var FIRST_RECORD = document.evaluate(FIRST_RECORD_LINK, document, 
    null, XPathResult.ANY_TYPE, null).iterateNext();
console.log(FIRST_RECORD); 
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(FIRST_RECORD,"text/html");
console.log(xmlDoc.getElementsByTagName("img")[0].childNodes[0].getAttribute("alt"));

Что я делаю не так?Заранее извиняюсь за то, что не пользуюсь кодовыми полями, у меня слабое зрение, и они не работают с моей программой чтения с экрана.

1 Ответ

0 голосов
/ 06 июня 2018

Как только вы получили img в FIRST_RECORD путем оценки xpath, вы можете прочитать атрибут alt с getAttribute:

FIRST_RECORD.getAttribute('alt');

См.рабочий пример (с обновленным xpath, чтобы он работал в stackoverflow):

// The following path was modified to work in stackoverflow
var FIRST_RECORD_LINK = '//img';
var FIRST_RECORD = document.evaluate(FIRST_RECORD_LINK, document, null, XPathResult.ANY_TYPE, null).iterateNext();
console.log(FIRST_RECORD);
console.log(FIRST_RECORD.getAttribute('alt'));
<img data-aria-label-part="" src="https://pbs.twimg.com/media/Dc10VX_UwAAJxPM.jpg" alt="Millenials are more likely than Baby Boomers to be living with a disability. 
Provided by the Center for Talent Innovation Disability Inclusion Report.">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...