Скоро Библиотека для удобного написания регеров/спамеров [ZennoPoster]

Moderator
29 Мар 2020
271,848
1,083,266
113
#1
Всем привет. Хочу предложить свою библиотеку, которая облегчит вам процесс написания шаблонов на c# в zennoposter. Библиотека выдается в открытом виде (закомментирую код для простоты понимания).

1-jpg.610549


Что внутри:

Спойлер: описание методов
Screenshot() – делает скриншот и кладет в папку конкретного потока.

ZapisLog(string message) – запись в лог и выход по ошибке. Параметры: какое сообщение записать. Работает в двух режимах:

· В расширенном режиме лога запись идет в папку конкретного потока (в txt файл). Также делается скриншот и сохраняется исходный код стр, которые также кладутся в эту папку

· В обычном режиме делается запись в лог в окно «ошибки»

ZapisVTxtFile(string zapis) – запись в txt файл в папку конкретного потока. Параметры: какое сообщение записать. Может пригодиться, когда надо отслеживать как ведет себя каждый поток по отдельности.

Perehod(string url, bool pausa = true, int pausa_ot = 5000, int pausa_do = 8000) – переход на страницу. Параметры: урл куда переходим, нужна ли пауза после перехода по урл (необязательно - по умолчанию true), пауза от в миллисекундах(необязательно - по умолчанию 5000), пауза до в миллисекундах(необязательно - по умолчанию 8000).

Perehod(string url, string reloadBrowser, bool pausa = true, int pausa_ot = 5000, int pausa_do = 8000) – переход на страницу (2 перегрузка). Используется при первом заходе. Отличается тем, что проверяет прокси на работоспособность. Параметры: урл куда переходим, нужно ли перезагружать браузер в случае неудачного захода (если да, то прописываем «yes»), нужна ли пауза после перехода по урл (необязательно - по умолчанию true), пауза от в миллисекундах(необязательно - по умолчанию 5000), пауза до в миллисекундах(необязательно - по умолчанию 8000).

PoiskElement(string xpath, string message = "ошибка при поиске элемента/клике/установке значения - ", int skolko=30) – поиск элемента с выходом по ошибке, если он не будет найден. Параметры: xpath путь искомого элемента, какое сообщение выводить при ошибке(необязательно - по умолчанию xpath путь не найденного элемента), сколько ждать появления элемента (если его нет) в СЕКУНДАХ(необязательно - по умолчанию 30 сек). Возвращает HtmlElement.

PoiskElement(string xpath, int number, int skolko=5, bool perezahod = false) – поиск элемента без выхода по ошибке (2 перегрузка). Параметры: xpath путь, номер элемента, сколько ждать в секундах(необязательно – по умолчанию 5 секунд), нужно ли пытаться перезайти на страницу, если элемент не находится (необязательно – по умолчанию нет). Возвращает bool (true если найден, false если нет).

ClickElement(string xpath, int number=0, int skolkoJdat = 30, bool pausa = true, int pausa_ot = 2000, int pausa_do = 5000, bool scroll = false, bool sostoyanieZagruzki = false, bool poiskplashki = false) – клик по элементу с использованием мышки. Параметры: xpath путь для 1-го элемента по которому кликаем, номер элемента(необязательно - по умолчанию 0), сколько секунд ждать появления элемента(необязательно - по умолчанию 30 секунд), нужна ли пауза после клика(необязательно - по умолчанию true), пауза от(необязательно - по умолчанию 3000 миллисекунд), пауза до(необязательно - по умолчанию 7000 миллисекунд), надо ли скроллить до элемента(необязательно - по умолчанию false), отслеживать или нет начала ли страница перезагружаться(необязательно - по умолчанию false).

SetValueElement(string xpath, string value, int number=0, int skolkoJdat = 30, bool pausa = true, int pausa_ot = 3000, int pausa_do = 7000, bool scroll = false) – установка значения с использованием мышки. Параметры: xpath путь до элемента, устанавливаемое значение, номер элемента(необязательно - по умолчанию 0), сколько секунд ждать появления элемента(необязательно - по умолчанию 30 секунд), нужна ли пауза после клика(необязательно - по умолчанию true), пауза от(необязательно - по умолчанию 3000 миллисекунд), пауза до(необязательно - по умолчанию 7000 миллисекунд), надо ли скроллить до элемента(необязательно - по умолчанию false), отслеживать или нет начала ли страница перезагружаться(необязательно - по умолчанию false).

SetValueSelectElement(string xpath, string value, bool itselect = false, string emulation = "Full", bool click = true, int number=0, int skolkoJdat = 30, bool pausa = true, int pausa_ot = 3000, int pausa_do = 7000, bool scroll = false) – установка значения для select. Параметры: xpath путь до элемента, устанавливаемое значение, сказать ли команде SetValue, что это Select(необязательно - по умолчанию false), уровень эмуляции: None, Middle, Full, SuperEmulation(необязательно: по умолчанию Full), кликнуть ли по элементу перед установкой значения(необязательно - по умолчанию true), номер элемента(необязательно - по умолчанию 0), сколько секунд ждать появления элемента(необязательно - по умолчанию 30 секунд), нужна ли пауза после клика(необязательно - по умолчанию true), пауза от(необязательно - по умолчанию 2000 миллисекунд), пауза до(необязательно - по умолчанию 7000 миллисекунд), надо ли скроллить до элемента(необязательно - по умолчанию false).

UdalenieDubleiIzSpiska(List<string> spisok) – удаление дублей из списка List. Параметры: список List

Во входных настройках у нас будет два режима лога:

обычный
расширенный
В расширенном режиме для каждого потока создается своя папка. В каждой папке при каждом действии (клике, установке значения, переходе) будет делаться скриншот и класться в эту папку. При ошибке будет также делаться запись в конкретную папку (полезно, если ошибка возникает время от времени).

610568-4e48c8bf24d3eb23248636ff0ccbf46a.jpg


Для закрепления напишем какой-нибудь простой шаблон (это будет регер рамблер почт или майл почт).

1 месяц поддержки, если будут вопросы.

Бонусы:

Методичка по поиску элементов с помощью xpath
Упаковка библиотеки в dll с помощью visual studio и её подключение (чтобы не занимала место в общем коде)
Для получения бонусов поставить в подпись и 1 рекламный пост. Если есть вопросы, задавайте.


Для просмотра содержимого вам необходимо авторизоваться

Для просмотра содержимого вам необходимо авторизоваться