Исключить однотипный элемент.

  • Автор темы Автор темы mr.green
  • Дата начала Дата начала
После авторизации на сайте мегафон поставь эти экшены, но тут не все экшены дописаны (остались простые, думаю сам сможешь дописать). Удалять у себя услуги мегафона не буду, поэтому и экшены не все и отладку не делал. Переменная uslugaminus - название услуги которую надо пропустить, установи точное текстовое значение как на сайте. Логика шаблона: сначала удаляем услуги до нужной, потом удаляем услуги после нужной. Паузу задай такую чтобы удаленной услуги уже не было на странице услуг.
Качнул Demo версию, слизал один в один, что не хватает подправил, не работает, вся надежда была на твой волшебный C# кубик, но тот всегда кладет в переменную одно и то же значение 0 , и каким образом это может работать вообще не понятно.Без претензий. zpr3.png
 
C#:
Развернуть Свернуть Копировать
var list = project.Lists["1"];
string str = project.Variables["uslugaminus"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;
1 - имя списка
uslugaminus - название услуги которую надо пропустить, название этой услуги копируй из этого списка и вставь в переменную uslugaminus, C# находит строку "uslugaminus" и выдает номер этой строки, я проверял, работает. У тебя список пустой или эта услуга всегда на первом месте?
 
C#:
Развернуть Свернуть Копировать
var list = project.Lists["1"];
string str = project.Variables["uslugaminus"].Value;
string numStr = string.Empty;
for (int i = 0; i < list.Count; i++)
{
    if (list[i].Contains(str))
        return i;
}
return -1;
1 - имя списка
uslugaminus - название услуги которую надо пропустить, название этой услуги копируй из этого списка и вставь в переменную uslugaminus, C# находит строку "uslugaminus" и выдает номер этой строки, я проверял, работает. У тебя список пустой или эта услуга всегда на первом месте?
Я так и делаю. По сути задача стоит соотнести 2 элемента: кнопку Отключить и название услуги "Запрет моб.платежей" , каким образом С# куб это делает? Название услуги в DOM модели уникально, следовательно всегда будет возвращать 0 .zpr4.png
 
Правильно С# срабатывает, кубик “IF“ значит сразу переведет шаблон по неуспешному выполнению на другую часть шаблона и будут удаляться услуги сразу со второй (например, Конференц-связь как у тебя скриншоте). У тебя там 13 услуг подключено?
 
Правильно С# срабатывает, кубик “IF“ значит сразу переведет шаблон по неуспешному выполнению на другую часть шаблона и будут удаляться услуги сразу со второй (например, Конференц-связь как у тебя скриншоте). У тебя там 13 услуг подключено?
У меня в 100% случаев идет по неуспеху и там спотыкается об "ловушку".
 
У меня в 100% случаев идет по неуспеху и там спотыкается об "ловушку".
После неуспеха там настроен клик на кнопку "Отключить" сразу у второй услуги в списке. Там сделать еще один или несколько кликов подтверждающих удаление услуги и подождать некоторое время для того чтобы эта услуга пропала в списке услуг на сайте. Далее все в цикле по кругу - переходим на страницу услуг, удаляем вторую услугу и т.д.
 
Имеем список услуг(1.txt), как получить порядковый номер(сверху-вниз) искомой услуги?
 
Имеем список услуг, как получить порядковый номер(сверху-вниз) искомой услуги?
кубик C# это делает, в твоем случае порядковый номер 0 (т.е. 1, но в зеннопостере нумерация с 0).
Там тебе осталось настроить подтверждение удаления услуги и поставить паузу небольшую.
 
кубик C# это делает, в твоем случае порядковый номер 0 (т.е. 1, но в зеннопостере нумерация с 0).
Там тебе осталось настроить подтверждение удаления услуги и поставить паузу небольшую.
Прошу прощения, с# код работает, сам затупил, но в твоем шабе есть глобальная ошибка, ты не учел то что номера кнопок меняются динамически, надо ставить проверку в каждой итерации. В общем и целом ты меня спас.
Команда зенолаба лукавит говоря, что ZP не требует знаний программирования, вот яркий пример, тривиальная задача не осуществима без волшебного С# кода.
 
в твоем шабе есть глобальная ошибка, ты не учел то что номера кнопок меняются динамически, надо ставить проверку в каждой итерации
В коде страницы я не нашел номера кнопок, там на странице теги без атрибутов почти и я просто учитывал номер совпадения. После того как нужная услуга становится на первое место экшеном кликаем на вторую кнопку Отключить (номер совпадения 1).
Команда зенолаба лукавит говоря, что ZP не требует знаний программирования, вот яркий пример, тривиальная задача не осуществима без волшебного С# кода.
Этот код С# я нашел на форуме, большинство решений и подобных кодов есть на форуме.
 
  • Спасибо
Реакции: mr.green

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