Опускать не буду.
Скажу только то, что номера нужно будет разгадывать через сервисы распознавания каптчи или KM2.
Можно так же для распознавания подключить стороннюю библиотеку Tesseract.Net, но стоить будет дороже.
Кстати, когда-то писал сниппет для рандомной задержки между набором символов при эмуляции клавиатуры, может пригодится.
http://zennolab.com/discussion/threads/kak-ustanovit-randomnuju-zaderzhku-mezhdu-naborom-simvolov.28444/#post-203731
Первый вариант нормально отрабатывает. Попробуйте поставить паузу перед кликом по "Search".
PS. Экшен "Активировать вкладку" в данном случае не обязателен.
string s = project.Variables["Var"].Value;
var x = instance.ActiveTab.FindElementByXPath(".//*[@id='main']/table[2]/tbody/tr[1]/td[" + s + "]", 0);
var y = x.GetAttribute("InnerHtml");
return y;
Экшен Директории - Путь к файлу
Или если изображение в папку попадает после скачивания, то можно воспользоваться переменной окружения {-Page.LastDownloadedFile-}.
1. Записать переменные в одну строку
var list = project.Lists["Список"];
string str1 = project.Variables["peremennaya_1"].Value;
string str2 = project.Variables["peremennaya_2"].Value;
list.Add(str1 + str2);
ну или некрасиво))
project.Lists["Список"].Add(project.Variables["peremennaya_1"].Value...
Что значит "грохнуть"?
Если имеете ввиду завершить поток по успеху/неуспеху, то можно через экшен If. Хотя в данном случае и его, вроде, даже не надо, если стрелки дальше нет, поток и так завершится.
Не придираюсь, но нужно \n на \r\n или на {-String.Enter-} (Тип поиска - Regex).
Объединить элементы списка в переменную > Замена > Очистить список (Удалить все элементы) > Добавить текст
Во входных настройках есть кнопка "Настройка профиля", там нужно перетащить ползунок до упора влево или вправо, в зависимости от нужного пола.
При переназначении полей профиля, пол указывается так:
True - мужской
False - женский
Т.е. нужно вытащить ВСЕ значения textarea со страницы?
Если так, то как я и предложил http://zennolab.com/discussion/threads/kak-skopirovat-opredelennyj-tekst-so-stranicy.31447/#post-226537
Тэг: textarea
Имя атрибута: id
Значение: meta-\d+-value
Тип поиска: regexp
Перед этим нужно создать...
Скорее всего в Content-Disposition: form-data; name="logo[]"; filename="{-Variable.photo1-}", name="" должны быть разные.
Что-то типа
...бла-бла
-----------------------------{-Variable.boundari-}
Content-Disposition: form-data; name="logo[1]"; filename="{-Variable.photo1-}"
Content-Type...
var list = project.Lists["List"];
List<string> listTmp = new List<string>();
for (int i = 0; i < list.Count; i++)
{
Match match = Regex.Match(list[i], "http://.*?/");
if (match.Success)
listTmp.Add(match.Value);
}
listTmp = listTmp.Distinct().ToList();
list.Clear()...
А что если перед перезагрузкой инстанса сохранять профиль с куками?
Плюс к этому может еще попробовать брать ссылку с кнопки "Далее" и после перезагрузки переходить по этой ссылке.
@doc, спасибо за подсказку! Немного изменил твой код и все стало работать идеально:
list.AddRange(from Match match in reg1.Matches(text)
where reg2.Match(match.Value).Value != ""
select reg2.Match(match.Value).Value);
@patlat, и Вам спасибо большое за помощь! Такое...
Вот и создал тему, может кто-нибудь знает и все-таки есть какое-то более изящное решение.
Пробовал, но нефига не получается или не пойму как правильно его тут использовать можно.
var list = project.Lists["List"];
string text = "Text";
Regex reg1 = new Regex("reg1");
Regex reg2 = new Regex("reg2");
list.AddRange(from Match match in reg1.Matches(text) select reg2.Match(match.Value).Value);
Код парсит из текста все совпадения по регулярке reg1, а из полученных значений...
Только [0-9]{1,20}, без точки. Или \d{1,20}
(?<=User_name_Portal"\ href="/profile/)[0-9]{1,20}(?="\ class="gs_result_i_t_name\ o">)
(?<=User_name_Portal"\ href="/profile/)\d{1,20}(?="\ class="gs_result_i_t_name\ o">)
В общем, без "Host: r.mail.ru" запрос нормально отрабатывает.
И, кстати, в кубике этот заголовок у тебя прописан в строку, где должен быть UA. Если и там его прописать правильно, то запрос тоже не пройдет.
В строке 6 кода не хватает протокола:
"http://" + project.Variables["proxy"].Value, // или socks5://
Ну или в переменной проекта прокси писать сразу с протоколом.
Тестирую прокси!
На данный момент основная масса проксей из RU, UA, KZ. России больше 50%
Скорость вполне высокая.
Прокси не заспамлены.
Очень адекватная цена по сравнению с другими подобными сервисами.
Для моих целей, это лучший вариант по качеству, из тех, что я пробовал за последние...