Задать вопрос
sivabur
@sivabur
Заблокировали просто так!

Xpath как получить 1 первый элемент?

В конcоли гугл хрома

$x("//*[@class='name_class'][1]")

Возвращает все элементы с данным классом а нужен только первый элемент.

В программе(c# lib: htmlagilitypack):

if (docURI.DocumentNode.SelectSingleNode("//*[@class='name_class'][1]") != null)
                MessageBox.Show("docURI.DocumentNode.SelectSingleNode("("//*[@class='name_class'][1]")).InnerText;
  • Вопрос задан
  • 7982 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
dzedzinskiy
@dzedzinskiy
Full stack developer
попробуйте так:
var elems = $x('//*[@class="name_class"]'),
      firstElem;
if(elems.length) {
   firstElem = elems[0];
}
console.log(firstElem);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@RayRom
Заключить в скобки локатор и взять первый:
$x("(//*[@class='name_class'])[1]")
Ответ написан
Комментировать
Ramsays
@Ramsays
Только учусь
Можете посмотреть тут:
https://msdn.microsoft.com/ru-ru/library/ms256086.aspx
Удачи!)
Ответ написан
@MrCarlione
Попробуйте явно указать элемент. Например: "//script[@class='name_class'][1]". Так же с помощью last() можно взять последний элемент и отнять кол-во элементов всего (в случае если знаете сколько их) или воспользоваться contains().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект