Вопрос по C#

electro

Client
Регистрация
08.08.2015
Сообщения
98
Благодарностей
14
Баллы
8
Написал небольшой код
Код:
var accounts = instance.ActiveTab.FindElementsByAttribute("div", "id", "gedit_user_members", "regexp");
for (int i = 0; i<accounts.Count; i++)
{
    var dogs = accounts.GetByNumber(i).FindChildByAttribute("a", "class", "gedit_user_thumb", "regexp", 0);
    var name = accounts.GetByNumber(i).FindChildByAttribute("a", "class", "gedit_user_lnk", "regexp", 0);
    var innerhtml = dogs.GetAttribute("innerhtml");
    var dog = accounts.GetByNumber(i).FindChildByAttribute("img", "class", "/images/deactivated_100.png", "regexp", 0);
    if (innerhtml.Contains("/images/deactivated_100.png"))
    {
        var deletedog = accounts.GetByNumber(i).FindChildByAttribute("a", "innertext", "Удалить из сообщества", "regexp", 0);
        deletedog.RiseEvent("Click", "full");
        if (innerhtml.Contains("Восстановить"))
        {
            continue;
        }

    }
   
}
Для очистки группы от собак, но подозреваю что по окончанию он будет либо просто висеть, либо заканчиваться по успеху, вопрос:
Как сделать так чтобы он заканчивался по неудаче, если на странице больше нет собак? Без этого, как я понимаю, цикл будет вечным и шаблон нужно будет выключать в ручную, а если закончится по неудаче можно будет вывести стрелку на окончание шаблона.
З.ы: Знаю что в коде пара лишних переменных, но они были мне нужны для понимания того, нужные ли элементы находит код.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Ваш код закончит работу после того, как цикл достигнет числа аккаунтов. Т.е. в логике всё правильно.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
не понимаю, для чего в цикле последний иф? он не несет никаких действий? или это просто метка для будущего кода?
 

electro

Client
Регистрация
08.08.2015
Сообщения
98
Благодарностей
14
Баллы
8
Ваш код закончит работу после того, как цикл достигнет числа аккаунтов. Т.е. в логике всё правильно.
Ну да, он и закончится, но по успеху и пойдет дальше, опять в цикл, экшен в котором этот код соединен по успеху с экшеном, который отвечает за скролл, если он заканчивается по успеху то он опять переходит на скролл, мне же нужно чтобы он отрабатывал по ошибке, когда заканчивает чистку, чтобы я мог вывести стрелку на окончание шаблона. Ну или подскажите как это можно делать, может изначально проскролить до самого низа, посчитать сколько собак, положить в переменную и от этого оттлакиваться в цикле?
не понимаю, для чего в цикле последний иф? он не несет никаких действий? или это просто метка для будущего кода?
Без этого if экшен удалял только одну собаку, приходилось бы каждый раз обновлять страницу и заново скролить. + Этот if проверка, удалена ли собака в принципе .
Ну и плюс я хз, пишу как могу, чистит собак - значит успешно, вот бы еще работало не бесконечно)
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
чтобы выходило по неуспеху, вставьте куда нужно
return null;
Куда это вставить я бес понятия, т.к. не знаю как построен шаблон.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
Код:
        if (innerhtml.Contains("Восстановить"))
        {
            continue;
        }
вот этот иф что в себе несет?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113

electro

Client
Регистрация
08.08.2015
Сообщения
98
Благодарностей
14
Баллы
8
Код:
        if (innerhtml.Contains("Восстановить"))
        {
            continue;
        }
вот этот иф что в себе несет?
Собака.png

Вот собака


Удаленная собака.png

Вот удаленная собака. До того как я добавил этот ИФ, шаблон долбился в одну и туже, после того как добавил он стал переходить на другие, те которые ниже.
 

electro

Client
Регистрация
08.08.2015
Сообщения
98
Благодарностей
14
Баллы
8
Посмотреть вложение 13036
Вот собака


Посмотреть вложение 13037
Вот удаленная собака. До того как я добавил этот ИФ, шаблон долбился в одну и туже, после того как добавил он стал переходить на другие, те которые ниже.
Хотя стоп, я удалил этот иф и он действительно ничего не делал, может я что-то намудрил)
В общем вы правы, он там не нужен.
 

electro

Client
Регистрация
08.08.2015
Сообщения
98
Благодарностей
14
Баллы
8
Все, я сделал так чтобы шаблон изначально скролил до самого низа страницы, таким образом экшен с кодом который чистит собак не нуждается в дополнительном скролле и за раз чистить всех. Спасибо!
 

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