Открыто

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

Тема в разделе "Бизнес и свое дело", создана пользователем lexxik, 23 июн 2020.

Цена: 500р.
Взнос: 500р.

Основной список: 7 участников

Статус обсуждения:
Комментирование ограничено.
  1. 23 июн 2020
    #1
    lexxik
    lexxik ЧКЧлен клуба

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

    Всем привет. Хочу предложить свою библиотеку, которая облегчит вам процесс написания шаблонов на c# в zennoposter. Библиотека выдается в открытом виде (закомментирую код для простоты понимания).

    1.jpg

    Что внутри:

    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

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

    2.png


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

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

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

    1. bobby
      bobby не участвует.
      23 фев 2024
    2. Снегоход
      Снегоход не участвует.
      18 авг 2023
    3. skladchik.com
      В складчине участвует 10 человек(а).
      18 авг 2023
    4. Voomko
      Voomko не участвует.
      7 июн 2023
  3. Обсуждение
  4. 23 июн 2020
    #2
    Мандарин7
    Мандарин7 ЧКЧлен клуба
    И все же мне не понятно , если человек должен писать код в чем отличие написание кода с использованием библиотеки и стандартными методами. Если дело в ускорении записи кода, то логичнее обратиться к программам которые просто делают копипаст кусков кода.
     
  5. 23 июн 2020
    #3
    vasquezj
    vasquezj ЧКЧлен клуба
    Не обижайтесь, но от skolkoJdat, perehod и тому подобного кровь идет из глаз. Мне кажется, на продажу стоит переписать с нормальными наименованиями.
     
    1 человеку нравится это.
  6. 24 июн 2020
    #4
    lexxik
    lexxik ЧКЧлен клуба
    Пример клика мышкой без дополнительной логики:
    Код:
    HtmlElement he = instance.ActiveTab.FindElementByXPath("//a[text()='Видео']",0);
    if(!he.IsVoid)
    {
        instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
        instance.ActiveTab.FullEmulationMouseClick("left","click");
    }
    С библиотекой:
    Код:
    deistvie.ClickElement("//a[text()='Видео'");
    Плюс есть ожидание элемента, возможность реализовать паузы и прочее. Библиотека открыта, можно добавить свою логику/убрать лишнюю, не вдаваясь в подробности работы с общим кодом. Не все работают с общим кодом.

    Библиотека открыта, можно переименовать как душе угодно. 1.png
     
  7. 24 фев 2021
    #5
    z_EVS
    z_EVS ЧКЧлен клуба
    Новый курс по Zenno+C# от nztcoder: Hyper Coding: пишем код в ZennoPoster + VS, а не двигаем кубики
     
Статус обсуждения:
Комментирование ограничено.

Поделиться этой страницей