我正在尝试从以下 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"));
我做错了什么?对于没有使用代码框,我提前表示歉意,我有视力障碍,而且它们不支持我的屏幕阅读器。
最佳答案
通过评估 xpath 获得 FIRST_RECORD
中的 img
后,您可以使用 getAttribute
读取 alt
属性:
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.">
关于javascript - 从 DOM 解析 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50726279/