Как получить ответ, вместо instance.ActiveTab из переменной полученной с помощью GET запроса?

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93
Здравствуйте. Появился затык из-за не знания C#. Найти пример не смог.(

Сниппет который удачно работал:
return instance.ActiveTab.FindElementsByXPath(".//*[@id='ShareList']/ol[1]/li").Count().ToString();

Мне нужно, что бы .FindElementsByXPath(".//*[@id='ShareList']/ol[1]/li").Count().ToString(); брал HTML ответ из переменной под именем GET.
То есть, в прошлом варианте я получал количество совпадений "li" из активной вкладки, а теперь пытаюсь обработать полученные данные из GET запроса.

Помогите, как правильно написал начало. Я так понял, что нужно заменить кусок instance.ActiveTab.


Заранее, большое спасибо.)
 
  • Спасибо
Реакции: SlipDez

vrska

Client
Регистрация
07.02.2010
Сообщения
589
Благодарностей
408
Баллы
63

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
Здравствуйте. Появился затык из-за не знания C#. Найти пример не смог.(

Сниппет который удачно работал:
return instance.ActiveTab.FindElementsByXPath(".//*[@id='ShareList']/ol[1]/li").Count().ToString();

Мне нужно, что бы .FindElementsByXPath(".//*[@id='ShareList']/ol[1]/li").Count().ToString(); брал HTML ответ из переменной под именем GET.
То есть, в прошлом варианте я получал количество совпадений "li" из активной вкладки, а теперь пытаюсь обработать полученные данные из GET запроса.

Помогите, как правильно написал начало. Я так понял, что нужно заменить кусок instance.ActiveTab.


Заранее, большое спасибо.)
Насколько я знаю, xpath работает только с табом (по крайней мере до версии 5.31). Для выборки из переменной или файла, нужно подключать внешнюю библиотеку HtmlAgilityPack. Поищите по форуму, вся инфа здесь есть. И по подключению и по парсингу
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Здравствуйте. Появился затык из-за не знания C#. Найти пример не смог.(

Сниппет который удачно работал:
return instance.ActiveTab.FindElementsByXPath(".//*[@id='ShareList']/ol[1]/li").Count().ToString();

Мне нужно, что бы .FindElementsByXPath(".//*[@id='ShareList']/ol[1]/li").Count().ToString(); брал HTML ответ из переменной под именем GET.
То есть, в прошлом варианте я получал количество совпадений "li" из активной вкладки, а теперь пытаюсь обработать полученные данные из GET запроса.

Помогите, как правильно написал начало. Я так понял, что нужно заменить кусок instance.ActiveTab.


Заранее, большое спасибо.)
C#:
List<string> lst_Find = new List<string>();
lst_Find = ZennoPoster.Parser.ParseByXpath(input_text, xpath, NameAtribute ).ToList();
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93
C#:
List<string> lst_Find = new List<string>();
lst_Find = ZennoPoster.Parser.ParseByXpath(input_text, xpath, NameAtribute ).ToList();
Я не совсем понял...
За место xpath написать .//*[@id='ShareList']/ol[1]/li?
А в input_text, xpath, NameAtribut что нужно написать?
 
  • Спасибо
Реакции: SlipDez

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Я не совсем понял...
За место xpath написать .//*[@id='ShareList']/ol[1]/li?
А в input_text, xpath, NameAtribut что нужно написать?
input_text это переменная , где находятся данные из которых надо что получить , в твоем случае можно подставить переменную под именем GET
xpath это xpath в твоем случае //*[@id='ShareList']/ol[1]/li
NameAtribute это имя получаемого атрибута . innertext например или другие которые используются в зенке или есть в самом элементе.
return lst_Find.Count.ToString(); вернет количество найденных элементов
 
  • Спасибо
Реакции: djaga

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93
input_text это переменная , где находятся данные из которых надо что получить , в твоем случае можно подставить переменную под именем GET
xpath это xpath в твоем случае //*[@id='ShareList']/ol[1]/li
NameAtribute это имя получаемого атрибута . innertext например или другие которые используются в зенке или есть в самом элементе.
return lst_Find.Count.ToString(); вернет количество найденных элементов
Запускается, но выдаёт значение 0. Это из-за того, что я не правильно задал NameAtribute?
C#:
List<string> lst_Find = new List<string>();
lst_Find = ZennoPoster.Parser.ParseByXpath(project.Variables["GET"].Value,"//*[@id='ShareList']/ol[1]/li","li").ToList();
return lst_Find.Count.ToString();
 
  • Спасибо
Реакции: SlipDez

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93
innertext пропиши. li это не атрибут, это узел
Да! Огромное спасибо!
Вот конечный, верный вариант для остальных. Как я... :bc:.
C#:
List<string> lst_Find = new List<string>();
lst_Find = ZennoPoster.Parser.ParseByXpath(project.Variables["GET"].Value,"//*[@id='ShareList']/ol[1]/li","innertext").ToList();
return lst_Find.Count.ToString();
 
  • Спасибо
Реакции: SlipDez

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