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

  1. semafor

    5 место Z-TehnOman Part1. Cобственные классы, MySQL и Dapper — взаимодействие с БД проще, код чище, а нервы крепче

    Тут эта... Несколько раз меня накрывало, что чего-то в статье не хватает, но все не мог догнать чего. И сегодня осенило — ведь ссылки!!! 1. Github Dapper. Есть примеры, например по работе с динамическими объектами, еще интересен раздел вопросов(issues). Ну и код даппера тоже можно поковырять...
  2. semafor

    1 Firefox instance разрастается и занимает всю память. Что делать?

    Перезагружать инстанс после n страниц, где n подбираете экспериментально.
  3. semafor

    Z-TechnOman Part 2. Собственные классы, Dapper база данных SQLite.

    Я признаться в ZP не тестил, в начале статьи пишу, что первый раз с ней имею дело, но вот прямо сейчас пишу шаб с ней, правда пока все в стадии проектирования...
  4. semafor

    5 место Z-TehnOman Part1. Cобственные классы, MySQL и Dapper — взаимодействие с БД проще, код чище, а нервы крепче

    Спасибо за лестный отзыв. По сравнению с Entity dapper значительно быстрее, даже с нахлобучками типа contrib-ов и прочих crud-ов (а их дофига всяких понаписано) И INSERT IGNORE и INSERT ... ON DUBLICATE KEY UPDATE точно поддерживает Про SELECT ... FOR UPDATE пока не отвечу
  5. semafor

    Z-TechnOman Part 2. Собственные классы, Dapper база данных SQLite.

    Эта часть категорически не желала публиковаться — ловил ошибку при публикации «Упс! Мы столкнулись с проблемами...», благодарю за помощь в публикации ZennoLab Team, и в связи описанными сложностями прошу понять и простить за отсутствие оформления
  6. semafor

    Z-TechnOman Part 2. Собственные классы, Dapper база данных SQLite.

    Это продолжение материала о Dapper, только взаимодействовать мы будем с популярной БД SQLite, имеющейся уже, наверное даже в современных утюгах и холодильниках. Прелесть Dapper заключается как раз в том, что эта библиотека работает с любыми реляционными СУБД — MySQL, SQLite, PostgreSQL, SQL. В...
  7. semafor

    Работа с датой и временем в Zennoposter с использованием методов C#

    Согласно стандарту en-US дата выглядит так MM/dd/yyyy Т.е. сначала указывается месяц, затем день и год. И когда компилятор видит в месте, где должен быть указан месяц число 21, он возмущается )))
  8. semafor

    5 место Z-TehnOman Part1. Cобственные классы, MySQL и Dapper — взаимодействие с БД проще, код чище, а нервы крепче

    :bf: Перескажу кратко — работа с MySQL через стандартную либу MySqlData.dll достаточно неудобна и требует написания большого количества кода, что ухудшает читаемость кода, усложняет его поддержку и изменение. А при создании собственных классов и использовании dapper все значительно упрощается —...
  9. semafor

    5 место Z-TehnOman Part1. Cобственные классы, MySQL и Dapper — взаимодействие с БД проще, код чище, а нервы крепче

    Ахаха! У меня ровно наоборот вышло — сел писать свой мапер, но психанул и вспомнил про дапер )))
  10. semafor

    5 место Z-TehnOman Part1. Cобственные классы, MySQL и Dapper — взаимодействие с БД проще, код чище, а нервы крепче

    Всем добра и веселого Нового года без последствий! В статье пойдет речь о том, как упростить взаимодействие с БД, структурировать данные в шаблоне, сделать код чище, а расширение функционала и поддержку шаблона проще. А делать это мы будем используя самописные классы в общем коде, БД MySQL и...
  11. semafor

    C# Проход по списку элементов

    Что то вроде этого: HtmlElementCollection aCol = instance.ActiveTab.FindElementsByXPath("//a[contains(@class,'result__a')]"); foreach(var a in aCol) { if(a.GetAttribute("href").Contains(project.Variables["domain"].Value)) { //click //Только кликать нужно, чтобы открылась...
  12. semafor

    C# Проход по списку элементов

    А вы видите у span-ов, которые вы собираете в коллекцию какие-то дочерние элементы? Я вот не вижу. В том наверное и ошибка Я бы собирал коллекцию элементов «a»(желтенькие на скрине — именно их вы и пытаетесь найти как дочерний эл-т обведенного красным span) вот по этому xpath...
  13. semafor

    Код С#

    Вы опишите логику, а то не понятно что вы делаете и что хотите получить. Мой код не может присвоить project.Variables["olmp"].Value значение больше 29, т.к. в нее пишется номер итерации цикла (которых у нас ровно 30 — от 0 до 29). И каждое выполнение этого цикла будет затирать старые значения...
  14. semafor

    Код С#

    Ага, забыл указать Value в переменой проекта for(int i=0; i<30; i++) { // Конструктор действий, тип RiseEvent HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "bet\\ roboto-font\\ padding\\ border-green", "regexp"...
  15. semafor

    Код С#

    for(int i=0; i<30; i++) { // Конструктор действий, тип RiseEvent HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "bet\\ roboto-font\\ padding\\ border-green", "regexp", Convert.ToInt32(project.Variables["olmp"].Value)); if...
  16. semafor

    Работа с датой и временем в Zennoposter с использованием методов C#

    Если правильно понял: string str = "20.10.2021 10:00"; DateTime dt = DateTime.Parse(str); dt = dt.AddDays(-7); return dt; Или если с текущей датой: DateTime dt = DateTime.Now; dt = dt.AddDays(-7); return dt; Или если время не нужно: DateTime dt = DateTime.Now.Date; dt = dt.AddDays(-7); return dt;
  17. semafor

    Работа с датой и временем в Zennoposter с использованием методов C#

    Ага, почитал про эту примочку екселевскую, только не понял для чего оно надо если есть unixtime. Но если человеку надо, так надо )) Для текущей даты: return (DateTime.Now.Date - new DateTime(1900,1,1)).TotalDays;
  18. semafor

    Работа с датой и временем в Zennoposter с использованием методов C#

    Ни разу не возникало необходимости для таких штук. Признаться, с разбегу даже не понял для чего это нужно. Если нужно получить дату в формате числа — есть unixtime, с которым работает весь интернет и для которого есть встроенные методы в DateTimeOffset. А эту штуку вижу впервые )))
  19. semafor

    Работа с датой и временем в Zennoposter с использованием методов C#

    DateTime date = Convert.ToDateTime("2021-01-14 09:21:40"); DateTime date1 = Convert.ToDateTime("2021-01-15 09:21:40"); TimeSpan diff = date - date1; //если date1 > date — вышли по красной if(diff.TotalSeconds < 0) throw new Exception("date1 > date"); //или, если надо наоборот...
  20. semafor

    Добрый ночи, подскажите с чего начать изучение C# в разрезе ZennoPoster

    Не совсем понял к чему это Вы. ТС спросил цитата: «...когда нужен C# и не хватает Zennoposter?». Я ответил когда это нужно по-моему мнению. Причем тут танцоры и то, что им мешает? Буду признателен за пояснения. И если Вы откроете мне глаза, как можно с помощью шарпа решить например баги...
  21. semafor

    Добрый ночи, подскажите с чего начать изучение C# в разрезе ZennoPoster

    Чаще всего (но не всегда), Шарп даёт возможность свернуть десяток-другой штатных кубиков в один. Это повышает читабельность и упрощает понимание логики, а значит сопровождение и редактирование шаблона. А если совсем кратко — когда кубики бессильны, c# способен помочь (но, опять не всегда)
  22. semafor

    парсинг json со случайными объектами

    Свойства конкретного Джейсона (именно вашего или моего, или ещё чьего то) они динамические и потому в подсказках вы их не увидите. Но это не значит что их там нет...
  23. semafor

    Работа с датой и временем в Zennoposter с использованием методов C#

    Формат вывода даты однозначно зависит от региональных настроек конкретного ПК. Чтобы оперировать этими настройками, существует класс System.Globalization.CultureInfo и его методы, позволяющие менять текущую культуру или явно задавать требуемый ее формат. Для парсинга из строки дат с форматом...
  24. semafor

    Как увеличить/уменьшить число -1.00 на 0.01?

    Чтобы спарсить строку в double с точкой, явно указываем что число будет в международном формате. Чтобы в переменную вернулось значение с точкой, явно указываем что вернуть нужно в международном формате. double inp = double.Parse(project.Variables["somevar"].Value...
  25. semafor

    Как увеличить/уменьшить число -1.00 на 0.01?

    Ну что-то типа такого например: //в переменной используется разделитель ".", т.е. 1.01, 1.02 и тд project.Variables["somevar"].Value = Convert.ToString(double.Parse(project.Variables["somevar"].Value) + 0.01);
  26. semafor

    Мои вопросы по ZP

    Ветка огонь! :D — Хочу рыбку! — Не вопрос! Вот тебе леска, крючок и удочка. Их нужно соединить, немного подумать и у тебя всегда будет рыба. — Нееееет!!! Хочу рыыыыбкууу!!!
  27. semafor

    C# поиск по списку

    string search = project.Variables["var"].Value;; var lst = project.Lists["list"]; for(int i=lst.Count-1; i>0; i--) { if(lst.ElementAt(i).Equals(search)) lst.RemoveAt(i); }
  28. semafor

    Как удалить ячейку в таблице?

    Тоже интересно стало накинуть кода на вентилятор ))) var tab = project.Tables["t"]; //таблица string delete = "value4"; //Ячейки с каким текстом удаляем string[] rownew = new string[] {}; for(int i=0; i<tab.RowCount; i++) { string[] rowold = tab.GetRow(i).ToArray();//взяли...
  29. semafor

    POST/GET ZennoPoster

    Ну вариантов-то миллион, и у каждого свой. Самое простое — если веток, на которые должен разойтись проект 2: string input = "blablabla trulala"; //проверяем на вхождение текста if(input.Contains("blablabla")) return 1; // выход по зеленой else throw new Exception("Input not contains...
  30. semafor

    Код C#, работает как-то неправильно.

    Что-то типа того: HtmlElement he; for(int i=0;i<5;i++) { he = instance.ActiveTab.FindElementByAttribute("span","innertext","-","regexp",0); if(!he.IsVoid) { break; //если элемент нашли — цикл прерываем } //Если в последней итерации цикла элемент не найден — исключение...
  31. semafor

    Перевод времени на c#

    string input = "1|29.03.2021 00:30|Текст Текст Текст"; //если не найден сепаратор "|" бросаем исключение if(!input.Contains("|")) throw new Exception("input string error"); //Разбираем вх строку на одномерный массив по сепаратору "|" string[] inputarr = input.Split('|'); //Получаем объект...
  32. semafor

    Король Социалок 18: шаблон для визуализации статистики

    Спасибо за шаб! Как раз впереди замаячила нужда в подобной визуализации. К реализации еще не подступал, только начал задумываться с какой стороны подойти — а тут готовое!
  33. semafor

    -WebKitFormBoundary

    WebKitFormBoundary — это граница(разделитель) между частями данных в составном запросе формата multipart/form-data. Генерируется как случайный набор символов, единственное требование — один и тот же набор в одном сообщении multipart/form-data. В качестве уникального значения неплохо подходит...
  34. semafor

    Разбираем все вопросы по настройке расписания запуска шаблонов

    Сам себе отвечу — в версии 7.2.0 в ZennoPoster.TasksList появилось поле <NextScheduleTimeUI>, в котором отображается дата следующего запуска. Интересно, в следующих версиях следует еще какие-то сюрпризы ждать с TasksList? Блин, и так каждый раз — вроде плюхи приятные появляются в новых...
  35. semafor

    Разбираем все вопросы по настройке расписания запуска шаблонов

    Добрый день! Раньше (еще в ZP 7.1.5) из ZennoPoster.TasksList можно было получить дату следующего старта шаблона со включенным шедулером. В старых версиях (уже не помню каких) этот параметр назывался <NextScheduleDate>. Потом, в ZP 7.1.5 эту же дату можно было выхватить из параметра...
  36. semafor

    Проект для работы с LiteDB. Удобная NoSQL база для парсинга.

    Да смотрел я там, и так и эдак крутил-вертел — класс создать не проблема, а вот смапить в него Bson... Не выходит каменный цветок и все тут... Вообще конечно не хватает либе подробных доков с примерами.
  37. semafor

    Проект для работы с LiteDB. Удобная NoSQL база для парсинга.

    У меня не было необходимости в изменении данных в БД, поэтому в этом не подскажу. Один из вариантов, как получить из БД инфу показывал RoyalBank в шаблоне, в кубике «Перебор и взятие значений из базы». От себя добавлю еще пару вариантов. 1 вариант — когда из БД нужно получить строку...
  38. semafor

    Работа с датой и временем в Zennoposter с использованием методов C#

    Здесь мы имеем дело не с датой, а с временным отрезком (11 часов, 12 минут и 42 сек) — это структура TimeSpan. создаем переменные TimeSpan, их сумма тоже Timespan. А после сложения можем перевести полученное значение в DateTime, указав год, месяц и день. TimeSpan ts1 = new TimeSpan(11, 12, 42)...
  39. semafor

    Get запрос +Ajax

    TimeSpan span = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 00, DateTimeKind.Utc)); //можно то же получить через ticks var utst = span.Ticks; return new Regex(@"\d{13}").Match(utst.ToString()).ToString();
  40. semafor

    Проект для работы с LiteDB. Удобная NoSQL база для парсинга.

    Тут эта, возжелалось мне сразу JSON из строки в БД пихать, чтобы одним запросом — пришлось поковыряться в методах. Собственно различие только в создании BSON документа, все остальное RoyalBank уже описал. Тем не менее, выложу здесь сниппет, глядишь еще кому сгодится: //если из переменной проекта...
  41. semafor

    Управление шаблоном c#

    Хм... Дык я ведь вроде явно указывал — CultureInfo.InvariantCulture, куда уж универсальнее? При этом вот такой варниант прекрасно работал: CultureInfo prov = CultureInfo.InvariantCulture; string dtstr = "01/18/2021 12:22:22"; string frmt = "MM/dd/yyyy hh:mm:ss"; DateTime dt =...
  42. semafor

    Управление шаблоном c#

    Доброго дня. Во-первых, спасибо DmitryAk за тему и идею. Когда набрел на тему — добавил туда свой метод, для получения даты следующего запуска нужных шаблонов работающих в планировщике: /// <summary> /// получаем дату следующего запуска /// </summary> /// <param name="TaskName"></param> ///...
  43. semafor

    Нейронная сеть «досмысления» предложения или работы с текстом.

    О! А я на колабах шкерился, а тут веб-интерфейс без бубнов...
  44. semafor

    Нейронная сеть «досмысления» предложения или работы с текстом.

    Мне попадались только с возможностью дополнения фраз, поданных на вход (справедливости ради, искал только ру), т.е. "поболтать" с ней не получится. Я находил на гугл колабах, там же и потестить можно было. В итоге, получилось что без кропотливой ручной фильтрации под мои задачи не обойтись...
  45. semafor

    Добавить значение в начало и в конец переменной на С#

    Если правильно понял: //project.Variables["t"].Value — переменная проекта, с которой работаем //вариант 1 project.Variables["t"].Value = string.Format("{0}{1}{0}","&",project.Variables["t"].Value); //вариант 2 project.Variables["t"].Value ="&"+project.Variables["t"].Value+"&"; На самом деле...
  46. semafor

    Работа со временем C#

    1. В timespan так же есть возможность настроить вывод в строку: return delta.ToString(@"dd\ hh\:mm"); 2. Пример простенький, чтобы понять куда двигаться (можно вместо if-ов свитч запилить): DateTime dt1 = new DateTime(2020,12,22,22,00,00); DateTime dt2 = new DateTime(2020,12,23,2,30,00)...
  47. semafor

    Нейросеть + ZennoPoster = FakeAvatar Generator (а так же выносим в общий код все что не относится к логике проекта)

    Дружище, Вы пришли в мою тему, начали мне рассказывать как надо было сделать, чтобы Вам понравилось, и теперь я стал Вам скучен? Серьезно? А могу я как-то реабилитироваться? А то мне так понравилось с Вами общаться...
  48. semafor

    Нейросеть + ZennoPoster = FakeAvatar Generator (а так же выносим в общий код все что не относится к логике проекта)

    Самым элементарным способом. Если Вы внимательно изучите статью, то в ней обсуждается сборка сервера для качественной и беспроблемной работы той самой программы браузерной автоматизации.