- Регистрация
- 03.02.2016
- Сообщения
- 88
- Благодарностей
- 6
- Баллы
- 8
Приветстую.У бота есть два варианта выполнения списка действий. Один- наша последовательность действий. другой- случайная последовательность действий.
До перехода по свитчу на случайный или последовательный порядок действий - мы Объявляем функции, которые будут использоваться при заданной нами последовательности.
Единственная функция, с которой у меня возникают проблемы- вообще не функция а пустышка. которую юзер должен выбирать как конец своих действий.
Код обычной функции.
Код проблемной функции, которая Зацикливается.
Далее мы идем по свитчу и выбираем нашу последовательность. Вот код, формирующий нашу последовательность. Настройки задаются во входных через Dropdown
Как результат получаю почему то бесконечное зацикливание.
Подскажите в чем косяк. Шаблон не выдает ошибку без этой строчки Ничего.
Ее убрать нельзя, потому как в дропдауне останется пустая строчка а зенка ругается на привязку по нулевой ссылке. Спасибо.
До перехода по свитчу на случайный или последовательный порядок действий - мы Объявляем функции, которые будут использоваться при заданной нами последовательности.
Единственная функция, с которой у меня возникают проблемы- вообще не функция а пустышка. которую юзер должен выбирать как конец своих действий.
Код обычной функции.
Код:
Tab Tab1 = instance.ActiveTab;
string strRepostNow = project.Variables["strForRepost"].Value;
project.Context["func_repost"] = (Func<string>)(() => {
Tab1.Navigate(strRepostNow); //переходим на сайт
Tab1.WaitDownloading();
HtmlElement butShare = instance.ActiveTab.FindElementByAttribute("button","fulltagname","button","regexp",21);
butShare.Click();
Tab1.WaitDownloading();
instance.ActiveTab.FindElementByXPath("//input[@id='reshare.submit']", 0).Click();
return "gotovo";
});
Код:
Tab Tab1 = instance.ActiveTab;
project.Context["func_nothing"] = (Func<string>)(() => {
Tab1.Navigate("http://ya.ru/");
return "nice";
});
Далее мы идем по свитчу и выбираем нашу последовательность. Вот код, формирующий нашу последовательность. Настройки задаются во входных через Dropdown
Код:
project.SendInfoToLog ("Запускаем наш порядок действий");
int intSkolkoShagov = 10; //Привязать настройку проекта
var codes = new List<string>();
codes.Add(project.Variables["varForAction1"].Value);
codes.Add(project.Variables["varForAction2"].Value);
codes.Add(project.Variables["varForAction3"].Value);
codes.Add(project.Variables["varForAction4"].Value);
codes.Add(project.Variables["varForAction5"].Value);
codes.Add(project.Variables["varForAction6"].Value);
codes.Add(project.Variables["varForAction7"].Value);
codes.Add(project.Variables["varForAction8"].Value);
codes.Add(project.Variables["varForAction9"].Value);
codes.Add(project.Variables["varForAction10"].Value);
for (int i=0; i<intSkolkoShagov; i++) {
string strDeistvie = codes[0];
switch (strDeistvie) {
case "Ничего":
project.SendInfoToLog ("Ничего не делаем");
project.SendInfoToLog ("Результат выполенния: " + project.Context["func_nothing"]());
break;
case "Инвайтер в группу":
project.SendInfoToLog ("Начинаем инвайтить в группу");
project.SendInfoToLog ("Результат выполенния: " + project.Context["func_invite_group"]());
break;
case "Классинг по аватаркам":
project.SendInfoToLog ("Начинаем классинг");
project.SendInfoToLog ("Результат выполенния: " + project.Context["func_klass"]());
break;
case "Добавление в друзья по списку":
project.SendInfoToLog ("Начинаем добавлять в друзья");
project.SendInfoToLog ("Результат выполенния: " + project.Context["FrInvite"]());
break;
case "Репост одной записи":
project.SendInfoToLog ("Начинаем делать репост");
project.SendInfoToLog ("Результат выполенния: " + project.Context["func_repost"]());
break;
case "Спам":
project.SendInfoToLog ("Начинаем спам по лс");
project.SendInfoToLog ("Результат выполенния: " + project.Context["func_spam"]());
break;
case "Класс в ленту новостей":
project.SendInfoToLog ("Начинаем ставить класс");
project.SendInfoToLog ("Результат выполенния: " + project.Context["func_lenta"]());
break;
}
codes.RemoveAt(0);
codes.Add(strDeistvie);
}
Подскажите в чем косяк. Шаблон не выдает ошибку без этой строчки Ничего.
Ее убрать нельзя, потому как в дропдауне останется пустая строчка а зенка ругается на привязку по нулевой ссылке. Спасибо.