- 16, May 2024
- #1
Привет всем, в настоящее время у меня есть следующий код, собирающий ссылку на URL-адрес пользователя, а также его имя:
HTML-структура выглядит следующим образом: Красный контур — это ссылка пользователя, а синий контур — его имя.
XPath красный контур: Так чего мне здесь не хватает? Здесь JSFiddle https://jsfiddle.net/stealthrt/u6sr7p9d/
из вышеперечисленных.
function getLinkAndNames() {
var nodes = "";
var nodes2 = "";
var p = "";
let i = 1;
let attr = "";
let attr2 = "";
const result = {
Data: []
};
for (var x = 0; x <= 16; x++) {
if (attr != null) {
p = "http://div[" + i + "]/div/div/div[1]/descendant::a[contains(@href, '?fr')]/@href";
p2 = "http://div[" + i + "]/div/div/div[1]/a/div/span/span/descendant::strong[contains(text(),' ')]";
nodes = document.evaluate(p, document, null, XPathResult.ANY_TYPE, null);
nodes2 = document.evaluate(p2, document, null, XPathResult.ANY_TYPE, null);
if (attr2 != null) {
result.Data.push({
href: attr.value,
name: attr2.innerText
});
i++;
attr2 = nodes2.iterateNext();
attr = nodes.iterateNext();
}
} else {
result.Data.push({
href: 'none',
name: 'none'
});
break;
}
}
return JSON.stringify(result,null,2);
}
console.log(getLinkAndNames());
Код (JavaScript). Приведенный выше код собирает необходимую информацию, но, похоже, всегда пропускает первого пользователя и пропускает его.
HTML-структура выглядит следующим образом: Красный контур — это ссылка пользователя, а синий контур — его имя.
XPath красный контур: Так чего мне здесь не хватает? Здесь JSFiddle https://jsfiddle.net/stealthrt/u6sr7p9d/
из вышеперечисленных.