Результаты поиска

  1. F

    WinApi , кто сможет через это чудо написать шаблон?

    WinApi очень богат на функционал. Что конкретно нужно, работа с окнами и контролами?
  2. F

    Каркас для instagram-бота в Zennoposter

    Ну, все это можно реализовать в софте. Просто полуфабрикат, который необходимо допиливать, мало кому будет интересен. Готовый софт люди покупают гораздо охотнее, т.к. для его использования не требуются навыки программирования.
  3. F

    Каркас для instagram-бота в Zennoposter

    Может лучше готовый продукт сделать? Гуй и логику написать на C#, а все самое интересное спрятать в нативный модуль. Можно продавать с привязкой к железу или сдавать в аренду по подписке. Так в десятки раз больше можно заработать.
  4. F

    Как с помощью с# закрыть все html теги

    Добавить в шаблон инструмент Директивы using и общий код. Открыть его, перейти на вкладку Общий код и заменить код на этот. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using...
  5. F

    Как с помощью с# закрыть все html теги

    Тут, скажем так, задача не из простых. В случае, когда есть закрывающий тэг, но отсутствует открывающий, определить место, где он должен находиться - невозможно. Можно попробовать этот код, но не факт, что он будет открывать/закрывать тэги именно там, где нужно...
  6. F

    Как с помощью с# закрыть все html теги

    Добавить в шаблон инструмент Ссылки из GAC, там подключить библиотеку HtmlAgilityPack.dll и сборку System.Xml.dll. Первая библиотека есть в прикрепленном архиве, его нужно куда-нибудь распаковать и выбрать файл через кнопку Обзор. Вторая библиотека является частью .net и выбирается через фильтр...
  7. F

    Как с помощью с# закрыть все html теги

    HtmlAgilityPack умеет чинить невалидный html код, закрывать незакрытые тэги, удалять закрывающие тэги (если нет открывающих тэгов).
  8. F

    Обсуждение версии 5.11.2.0

    Метод instance.ChangeRequest() используется для подмены параметров в запросе. Для подмены ответа надо использовать метод instance.ChangeResponse().
  9. F

    Обсуждение версии 5.11.2.0

    Появление данной фичи, пусть даже в таком урезанном виде - уже прогресс. Реально хотелось бы иметь полный контроль над запросами, что-то вроде этого. public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback...
  10. F

    Как заполнить все инпуты из выборки одним значением

    Для ожидания завершения заполнения поля при посимвольном вводе. Иначе инпут не успевает заполниться до конца при задержке больше 150-200 мс.
  11. F

    Как заполнить все инпуты из выборки одним значением

    var elements = instance.ActiveTab.FindElementsByXPath("//input[starts-with(@id, 'username-')]"); foreach (var elem in elements) { elem.SetValue("ТУТ ТО ЧТО НУЖНО ЗАПОЛНИТЬ", "Full"); instance.WaitFieldEmulationDelay(); }
  12. F

    Клик по кнопке через конструктор действий. Конструктор не видет элементы кода

    Надо смотреть дерево элементов, чтобы зацепиться за родительский элемент или соседний. Там в любом случае есть отличия, ты же по каким-то признакам определяешь, что тебе нужна именно эта кнопка.
  13. F

    Клик по кнопке через конструктор действий. Конструктор не видет элементы кода

    Такая кнопка единственная на странице? Если да, то поможет этот код. Иначе надо смотреть дерево элементов, чтобы зацепиться за родительский элемент или соседний. instance.ActiveTab.FindElementByXPath("//button[starts-with(@onclick, 'oneClickBuy') and text()='Buy Now']", 0).RiseEvent("click"...
  14. F

    как работает DrawImage() ?

    Ну тут все просто. dst это холст определенных размеров, который передается художнику gfx в методе Graphics.FromImage(dst). Теперь художник gfx будет постоянно хранить ссылку на холст dst и может рисовать на нем все что захочет. Можно попросить художника срисовать с другого холста, передав в...
  15. F

    Многопоточный парсинг на C# и работа с базой данных

    В первом посте есть несколько примеров, как извлекать данные из базы. Конечно, это самые азы, но раскрыть даже малую часть всего функционала в статье невозможно. Для этого пишут целые книги. Если структура спаршенных данных простая, то можно обойтись без базы. Вот еще примерчик, надо добавить в...
  16. F

    Как проверить, что текущий поток последний?

    Нужно добавить на панели инструмент Ссылки из GAC и подключить System.Xml.dll
  17. F

    Как проверить, что текущий поток последний?

    Во-первых, проверять надо на 1, так как условный последний поток еще сам работает и не завершился успешно/безуспешно, снизив значение счетчика. Во-вторых, это в любом случае не сработает ни со счетчиком, ни с файлом. А причина проста, часто при перезагрузке инстансов количество выполняемых...
  18. F

    Как проверить, что текущий поток последний?

    А вот и код подъехал. lock (CommonCode.SyncObject) { Guid taskId = Guid.Parse(project.TaskId); string taskInfo = ZennoPoster.GetTaskInfo(taskId); System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.LoadXml("<Task>" + taskInfo + "</Task>")...
  19. F

    Многопоточный парсинг на C# и работа с базой данных

    Ну вообще-то в моем примере именно так и сделано. Соединение с базой устанавливается 1 раз и обработчики получают доступ через поле класса.
  20. F

    Многопоточный парсинг на C# и работа с базой данных

    Дополнил статью. Описал подробно процесс поэтапного создания паука. Читайте второй пост.
  21. F

    Random с определенной вероятностью выпадения значений

    int act1 = int.Parse(project.Variables["action1"].Value); // 250 int act2 = int.Parse(project.Variables["action2"].Value); // 30 int act3 = int.Parse(project.Variables["action3"].Value); // 50 int act4 = int.Parse(project.Variables["action4"].Value); // 10 int act5 =...
  22. F

    Многопоточный парсинг на C# и работа с базой данных

    Дополню сегодня статью, попробую объяснить момент с парсингом магазина поэтапно.
  23. F

    Random с определенной вероятностью выпадения значений

    var rand = new Random(); if (rand.NextDouble() < 0.7) { // action1 } else { // action2 }
  24. F

    Многопоточный парсинг на C# и работа с базой данных

    Всем спасибо за лестные отзывы, парни. Всегда рад помочь по C# коду, даже вне конкурса. Обращайтесь! Что именно не понятно? Я попробую объяснить.
  25. F

    Многопоточный парсинг на C# и работа с базой данных

    И так, настало время воспользоваться полученными навыками. Но прежде чем создать проект в ProjectMaker'е, необходимо сначала скопировать все библиотеки из архива в папку Progs\ExternalAssemblies. Кроме того, файлы HtmlAgilityPack.dll и MongoDB.Bson.dll нужно также скопировать в корень папки...
  26. F

    Многопоточный парсинг на C# и работа с базой данных

    В этой статье я хочу продемонстрировать вам, как можно распараллелить работу даже на однопоточной версии зеннопостера. Благо, зенка позволяет выполнять произвольный C# код, чем мы и воспользуемся. В качестве демонстрационного примера, с помощью многопоточного паука будем решать задачу по...
  27. F

    Казалось бы лёгкая задача

    Держи шаблон. Файлы должны быть в utf-8 кодировке. Перед запуском, рекомендую сделать резервную копию первого файла, т.к. он будет перезаписан. Файлы выбираются в настройках проекта.
  28. F

    Как управлять кол-вом потоков во время работы шаблона?

    Как-то так. Только не забудь сборку System.Xml.dll поключить из GAC lock (CommonCode.SyncObject) { Guid taskId = Guid.Parse(project.TaskId); string taskInfo = ZennoPoster.GetTaskInfo(taskId); System.Xml.XmlDocument doc = new System.Xml.XmlDocument()...
  29. F

    Отправка почты

    Через 587 порт отправилось письмо на mail.ru, на яндексе тоже должно работать. С 465 и 25 портами не работает, т.к. класс SmtpClient использует немного устаревший метод подключения к серверу.
  30. F

    Обьясните как работает lock(SyncObjects.TableSyncer)

    Вероятно, ты обернул в лок не тот участок кода. Лочить надо только непосредственно сами операции над таблицами, которые должны отрабатывать мгновенно.
  31. F

    Отправка почты

    Судя по коду, функции зеннопостера тут вообще не используются, кроме получения значения переменных. Скорее всего, изменения произошли в mail.ru. Хоть бы скрин ошибки приложил, телепатическими способностями не все обладают.
  32. F

    Парсер на c#

    Категорически не согласен. Для обработки текста придумали регулярные выражения, чтобы не писать циклы и вложенные циклы с условиями. А для поиска элементов придумали xpath. Зачем городить костыли если существует специальный инструмент, который выигрывает абсолютно по всем параметрам. По...
  33. F

    Как объединить пути xpath?

    Класс Tab имеет такие же методы для поиска элементов, но при этом ищет по всем документам на странице. Вот этот код даст тот же результат, что и код выше. foreach (var el in instance.ActiveTab.FindElementsByXPath("//div[@class='test']")) { project.SendInfoToLog(el.InnerText); }
  34. F

    Парсер на c#

    В этом тебе помогут xpath выражения. Давай конкретный пример.
  35. F

    Вопросы по взаимодействию ZP и системного файла hosts

    Попробуй после изменений в файле добавить в шаблоне перезагрузку браузера.
  36. F

    Конкурс Седьмой конкурс статей от ZennoLab!

    На C# силами .net библиотек можно реализовать что душе угодно, в т.ч. параллельное выполнение запросов (многопоточно или асинхронно). Какие-то сложные моменты можно обойти с помощью браузера, например авторизоваться, спарсить куки и дальше уже работать на чистых запросах используя эти куки. В...
  37. F

    Помогите с парсингом текста

    Логирование ведется не для того, чтобы выводить километровые простыни текста, а для вывода краткой информации о процессе работы. Зачем ты из него копируешь? Лог в зенке, естественно, имеет лимит на количество отображаемых символов. Пиши в файл и убедись, что с твоими данными все в порядке...
  38. F

    Есть ли в Зенке типа стартовая глобальная функция?

    Вот пример, как все это делается одним шаблоном
  39. F

    Не загружается .net библиотека в проект

    Отправил в личку.
  40. F

    Не загружается .net библиотека в проект

    Есть .net библиотека собственной разработки, скомпилирована под .net 4.0. Раньше пользовался зенкой версии 5.4.3.0 и проблем не было. Сейчас, на версии 5.10.6.0 в code creator'e не открывается старый проект, использовавший эту либу. При попытке использовать эту библиотеку в новом проекте...
  41. F

    Интегрировать CSS селектор

    Для этого существуют xpath выражения, они гораздо мощнее. Будет примерно так для примера выше //div[@class='wraper']/span[text()='ZZ']/b
  42. F

    Новость Анонс движка Chrome

    Я уже писал, что меня зенка привлекает своей экосистемой. Планировщик, проксичекер, работа с каптчей, с почтой, с смс сервисами и т.п. Все это пилить самому нет желания.
  43. F

    Новость Анонс движка Chrome

    А это что, софт для автоматизации задач в вебе, конкурент зенки? Я имел ввиду жаркие споры про ненужность xpath. У меня и пруфы есть. А в теме про хромиум нуару вообще не отписывался, ты что-то путаешь.
  44. F

    Новость Анонс движка Chrome

    Тебя это вообще как-то заботит? Или ты посты набиваешь? И что, возможность выбирать движок, на котором будет выполняться проект, тоже предлагали? Что касается запросов на функционал, установку часового пояса и геолокации, например, пользователи больше года просили. Только в зенке он был...
  45. F

    Новость Анонс движка Chrome

    Если бы это действительно было так, то кто-нибудь из разработчиков в любом случае отписался бы в моей теме, что уже пилят или есть в планах реализовать подобное. Вместо этого тихонько взяли на карандаш мою идею, сейчас запилят и будут преподносить как мега фичу. Кстати, с момента публикации...
  46. F

    Новость Анонс движка Chrome

    За каждый чих? Такого новшества не было уже 5 лет, с момента смены движка трайдент на геко. Внедрение движка хромиум - ключевое обновление, которое позволит вывести ботов на новый уровень и вынудит многих пользователей приобрести обновление. На сегодняшний день это необходимость, которая, быть...
  47. F

    Новость Анонс движка Chrome

    Согласен, телепатов нет, поэтому я свои мысли изложил на форуме http://zennolab.com/discussion/threads/perexod-na-dvizhok-chromium.34385/
  48. F

    Новость Анонс движка Chrome

    Как показывает практика, в паблике такие вопросы быстрее решаются. Да и никто из разработчиков за все это время сам мне не написал. Сам же знаешь, что в нашей стране это не работает. Даже понятие "интеллектуальная собственность" мало кому знакомо.
  49. F

    Новость Анонс движка Chrome

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

    Как изменить текущий url без загрузки страницы

    tab.MainDocument.EvaluateScript("window.history.pushState('', '', '/search?q=javascript+history+api');"); project.SendInfoToLog(tab.URL, false);