XPath работа с цИклом

biryukovm

Client
Регистрация
19.05.2019
Сообщения
147
Благодарностей
10
Баллы
18
Привет всем.
Подскажите пожалуйста такой момент, я могу получить одну переменную указав данный путь через XPath
типа
C#:
tovar_name  = tab.FindElementByXPath("//h1", 0).GetAttribute("Innertext").Trim();
Но вот к примеру на сайте есть список описаний и там нем вспомогательных значений, а сортировка может меняться
Подскажите как тут собрать данные я думаю что это что то вроде цыкла

Вот пример HTML Кода
HTML:
<ul>
<li class=""><b>Высота основания</b>: 290-300 мм</li>
<li class=""><b>Высота ножки</b>: 250-260 мм</li>
<li class=""><b>Максимальный вес спящего</b>: 200 кг</li>
<li class=""><b>Гарантия</b>: 3 года</li>
</ul>
Как видите я могу отобрать все c тегом LI
C#:
tovar_list  = tab.FindElementByXPath("//div[contains(@class, 'product_attr')]/ul/li", 0).GetAttribute("Innertext").Trim();
а потом делать проверку на текст что есть в теге <b>***</b>

Подскажите код где я могу взять правильно в переменную и обработать это цыклом.
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
Подскажите код где я могу взять правильно в переменную и обработать это цыклом.
Попробуйте так:
C#:
Tab tab = instance.ActiveTab; // Если в кубике уже есть такая строчка, эту удалите
var tovar = tab.FindElementsByXPath("//div[contains(@class, 'product_attr')]/ul/li");
foreach (var el in tovar.Elements)
{
    project.Lists["tovar_list"].Add(el.InnerHtml);//В шаблоне должен быть список tovar_list
}
 
Последнее редактирование:

biryukovm

Client
Регистрация
19.05.2019
Сообщения
147
Благодарностей
10
Баллы
18

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
Поправил
 

biryukovm

Client
Регистрация
19.05.2019
Сообщения
147
Благодарностей
10
Баллы
18
Попробуйте так:
C#:
Tab tab = instance.ActiveTab; // Если в кубике уже есть такая строчка, эту удалите
var tovar = tab.FindElementsByXPath("//div[contains(@class, 'product_attr')]/ul/li");
foreach (var el in tovar.Elements)
{
    project.Lists["tovar_list"].Add(el.InnerHtml);//В шаблоне должен быть список tovar_list
}
Дает такой ответ

Компиляция кода Ошибка в действии "CS1061" ""string" не содержит определение для "Elements". Не удалось найти метод расширения "Elements", принимающий первый аргумент типа "string" (пропущена директива using или ссылка на сборку?)". [Строка: 34; Cтолбец: 26]
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
  • Спасибо
Реакции: biryukovm

biryukovm

Client
Регистрация
19.05.2019
Сообщения
147
Благодарностей
10
Баллы
18

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
Если заменить el.InnerHtml на el.InnerText будет собирать без тегов, не знаю как тебе нужно.
 

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