отметить нужные пункты из меню

Dmitry91

Пользователь
Регистрация
19.05.2019
Сообщения
54
Благодарностей
2
Баллы
8
Подскажите, пожалуйста, как отметить нужные мне пункты из меню в одном экшене?
Отмечать нужно много пунктов, поэтому не хотелось бы нагромождать шаблон кучей экшенов.
Без с# это можно сделать?
cпасибо
 

Вложения

  • 757,4 КБ Просмотры: 272

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
185
Баллы
43
Подскажите, пожалуйста, как отметить нужные мне пункты из меню в одном экшене?
Отмечать нужно много пунктов, поэтому не хотелось бы нагромождать шаблон кучей экшенов.
Без с# это можно сделать?
cпасибо
как вариант - попробуйте в браузере руками выбрать нужные пункты и перейти на итоговую страницу. Скопируйте полученный url и дальше уже работайте с ним. На счет использования кода - я бы через эмуляцию мыши и Xpath на C# такое делал бы.
 

Dmitry91

Пользователь
Регистрация
19.05.2019
Сообщения
54
Благодарностей
2
Баллы
8
как вариант - попробуйте в браузере руками выбрать нужные пункты и перейти на итоговую страницу. Скопируйте полученный url и дальше уже работайте с ним. На счет использования кода - я бы через эмуляцию мыши и Xpath на C# такое делал бы.
c C# особо не знаком, но я уже сделал по-другому...создал список с нужными мне пунктами из меню, затем беру строку из списка с удалением и заношу в переменную...затем через экшн click нашел каким атрибутам соответствуют данные пункты и в "значение" вписываю переменную...получается что перебираются все строки из списка и если находится нужный атрибут с нужным текстом то делается клик... вроде исправно работает)
 
  • Спасибо
Реакции: kapelan28

Dmitry91

Пользователь
Регистрация
19.05.2019
Сообщения
54
Благодарностей
2
Баллы
8
как вариант - попробуйте в браузере руками выбрать нужные пункты и перейти на итоговую страницу. Скопируйте полученный url и дальше уже работайте с ним. На счет использования кода - я бы через эмуляцию мыши и Xpath на C# такое делал бы.
нет, не получается правильно сделать, кое-что не продумал) а через с# это сложно осуществить? https://youla.ru/all/uslugi/master-na-chas
если получится помочь , буду очень благодарен!
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
185
Баллы
43
как вариант - попробуйте в браузере руками выбрать нужные пункты и перейти на итоговую страницу.
Код:
uslugi/master-na-chas?attributes[vid_uslug][0]=167545&attributes[vid_uslug][1]=167544&attributes[vid_uslug][2]=167546&attributes[vid_uslug][3]=167547&attributes[vid_uslug][4]=167548&attributes[vid_uslug][5]=167549
смотрите, каждая часть от ? и до & отвечает за определенную услугу. Соответственно, вы можете в условиях шаблона задать параметры - надо использовать одну услугу - приписываем к урлу одно окончание после ?, надо два и более - приписываем еще и не забываем включить разделитель &.
Если такой вариант не поможет - тогда нужно делать путь Xpath с привязкой к названию каждого пункта. Чуть позже попробуй выложить примерный код.
вот набросок кода, но он работает только при развернутом меню выбора позиций, поэтому требует доработки.
Код:
Random regRandom = new Random();
Tab Tab1 = instance.ActiveTab;
//Кликаем на нужный пункт
HtmlElement elElement1 = Tab1.FindElementByXPath("//label[contains(text(), 'Дезинфекция')]", 0);
if (elElement1.IsVoid) return "error: Не удалось найти elElement1 (поменялась верстка)";
Tab1.FullEmulationMouseMoveToHtmlElement(elElement1);
Thread.Sleep(regRandom.Next(500, 2500));
Tab1.FullEmulationMouseClick("left", "click");
Tab1.WaitDownloading();
Так что идеальным вариантом (и более надежным) было бы конфигурирование ссылки, как описал выше.
 
Последнее редактирование:

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