- Регистрация
- 21.08.2013
- Сообщения
- 834
- Благодарностей
- 379
- Баллы
- 63
Есть кусок кода
Подскажите как сделать
return question.ToString(); (строка 58 )
в коде я написал так но ретурн не работает.
Подскажите как правильно написать
Код:
// Параметры для текстовой рекапчи
//Список с текстовыми ответами на рекапчу
IZennoList lsTextAnswers = project.Lists["reCAPTCHA2"];
// Минимальное количество совпадений в ответах, при котором считаем ответ верным
int minTextCount = 5;
// Максимальное количество фраз на которые кликаем
int maxTextClickCount = 5;
// Сохранять новые задания в файл
bool saveNewTextTasks = true;
//Файл куда сохраняем новые задания
string newTextTasksFile = project.Directory+@"\newRecaptcha2TextTasks.txt";
// Основные параметры
// время ожидания
var waitTime = 350;
var waitTime2 = 2600;
// количество попыток распознать
var tryRecognize = 6;
// количество попыток загрузить элемент
var tryLoadElement = 30;
// показывать сообщения о прогрессе распознавания
var needShowMessages = false;
// проверять корректность распознанного ответа
var needToCheck = true;
// Вспомогательные переменные
// вкладка
var tab = instance.ActiveTab;
// поздравляем, вы не робот
var success = false;
// аудио файл
var file = string.Empty;
// файл был удален
var fileDeleted = true;
// ответ на аудио каптчу
var answer = string.Empty;
// новый вид рекаптчи 2
var isNewView = true;
// рекаптча 1
var isRecaptcha1 = false;
// время вышло
var timeout = false;
// ошибка загрузки файла
var fileLoadingError = false;
// cписок урлов скаченных файлов
var usedURLs = new List<string>();
// Текстовая капча или нет
bool isTextCaptcha = false;
// Распознаем текстовую капчу
Action RecognizeTextCaptcha = () =>
{
// Строка вопроса
string question = tab.FindElementByAttribute("div", "class", "rc-text-desc-wrapper", "regexp", 0).FirstChild.InnerText;
return question.ToString();
// Список элементов с фразами
List<HtmlElement> phrases = tab.FindElementsByXPath("//table[@class='rc-text-choices']/descendant::td").Elements.ToList();
// Распарсенная строка с ответами
string answers = String.Join(Environment.NewLine, lsTextAnswers.Where(a => a.StartsWith(question, StringComparison.Ordinal)).ToArray());
// Выбираем фразы где есть совпадения с ответами вместе с количеством совпадений и сортируем их по убыванию
List<KeyValuePair<int, HtmlElement>> goodPhrases =
phrases.Select(a => new KeyValuePair<int, HtmlElement>(Regex.Matches(answers, a.InnerHtml).Count, a)).
Where(a => a.Key >= minTextCount).OrderByDescending(a => a.Key).ToList();
//Кликаем не больше чем на maxTextClickCount фраз
int i = 0;
foreach (var phrase in goodPhrases)
{
i++;
phrase.Value.Click();
if (i >= maxTextClickCount) break;
}
// Если включено сохранение новых заданий, проверяем его на уникальность и сохраняем в файл
if (saveNewTextTasks)
{
string taskStr = question + ":" + String.Join(";", phrases.Select(a => a.InnerHtml).ToArray());
if (!lsTextAnswers.Contains(taskStr))
FileSystem.FileAppendString(newTextTasksFile, taskStr);
}
};
return question.ToString(); (строка 58 )
в коде я написал так но ретурн не работает.
Подскажите как правильно написать