Парсинг

andropovleva

Client
Регистрация
23.11.2019
Сообщения
586
Реакции
46
Баллы
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 кубик?
 
По аналогии можешь типа этого попробовать:
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

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