Парсинг

andropovleva

Client
Регистрация
23.11.2019
Сообщения
556
Благодарностей
41
Баллы
28
Как спарсить со страницы сразу несколько определенных элементов. Сейчас это выглядит так:
Парсинг кубик1:
//*[@id="w1"]/table/tbody/tr[1]/td[2]
Парсинг кубик2:
//*[@id="w1"]/table/tbody/tr[2]/td[2]
Парсинг кубик3:
//*[@id="w1"]/table/tbody/tr[3]/td[2]

Итак 30 элементов. Можно как то засунуть в 1 кубик?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
//*[@id="w1"]/table/tbody/tr/td[2]
так не прокатывает?
 
  • Спасибо
Реакции: andropovleva

SHILY

Client
Регистрация
05.06.2016
Сообщения
258
Благодарностей
304
Баллы
63
По аналогии можешь типа этого попробовать:
C#:
var tab = instance.ActiveTab;

tab.Navigate("https://habr.com/ru/all/");
if (tab.IsBusy) tab.WaitDownloading();

var list = tab
    .FindElementsByXPath("//div[@class='tm-articles-list']/descendant::article[@class='tm-articles-list__item']")
    .Select(item => item.FindChildByXPath(".//a[contains(@class, 'readmore')]", 0))
    .ToList();

list.ForEach(item => project.SendInfoToLog(item.InnerText + ": " + item.GetAttribute("href")));
В твоём случае это будет как-то так, но это не точно:
C#:
var list = instance.ActiveTab
    .FindElementsByXPath("//*[@id='w1']/table/tbody/tr")
    .Select(item => item.FindChildByXPath(".//td", 2))
    .ToList();
 
Последнее редактирование:
  • Спасибо
Реакции: andropovleva

andropovleva

Client
Регистрация
23.11.2019
Сообщения
556
Благодарностей
41
Баллы
28

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)