есть шаб отсюда
https://zennolab.com/discussion/threads/obzor-zennoposter-xpath-na-primere-jandeks-marketa.37497/
он обрабатывает в кубике c# данные отсюда (собирает атрибуты товаров в нужный формат)
https://market.yandex.ru/product/10583929/spec
а нужно настроить на верстку отсюда
https://www.hausdorf.ru/catalog/kholodilniki/neff/vstraivaemyy-kholodilnik-neff-k8315x0.html
кто может помочь ?
https://zennolab.com/discussion/threads/obzor-zennoposter-xpath-na-primere-jandeks-marketa.37497/
он обрабатывает в кубике c# данные отсюда (собирает атрибуты товаров в нужный формат)
https://market.yandex.ru/product/10583929/spec
а нужно настроить на верстку отсюда
https://www.hausdorf.ru/catalog/kholodilniki/neff/vstraivaemyy-kholodilnik-neff-k8315x0.html
Код:
//Используем текущий активный таб
Tab tab = instance.ActiveTab;
IZennoTable infoTable = project.Tables["specification"];
string new_join = "\n";
List<string> specList = new List<string>();
//Объявляем коллекцию для отображения блоков спецификации товара.
HtmlElementCollection itemCollection = tab.FindElementsByXPath("//div[@class='n-product-spec-wrap__body']");
foreach (HtmlElement item in itemCollection)
{
//Выводим Титул спецификации
HtmlElement title = item.FindChildByXPath("./h2", 0);
//Объявляем коллекцию спецификаций
HtmlElementCollection specCollection = item.FindChildrenByXPath("./dl[@class='n-product-spec']");
foreach (HtmlElement spec in specCollection)
{
HtmlElement specName = spec.FindChildByXPath("./dt[contains(@class, 'spec__name')]", 0);
if (specName.InnerText.Contains("?"))
{
project.Variables["specName"].Value = new Regex("(?<=name-inner\">).*?(?=<)").Match(specName.OuterHtml).Value;
}
else
{
project.Variables["specName"].Value = specName.InnerText.Trim();
}
string specNameReady = project.Variables["specName"].Value;
HtmlElement specValue = spec.FindChildByXPath("./dd[contains(@class, 'spec__value')]", 0);
string specification = string.Format("{0}|{1}|{2} ",title.InnerText.Trim(), specNameReady.Trim(), specValue.InnerText.Trim().Replace("\r\n", ""));
specList.Add(specification);
}
}
string all_spec = String.Join(new_join, specList);
string addtoTable = string.Format("\t \t {0}", all_spec);
infoTable.AddRow(addtoTable);