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

  1. LaGir

    Записать список в SQLite

    Имеется ввиду текст самого запроса, что вот тут находится (в виде конкретного значения): Для работы в кубике, лучше все 400 запросов или 1 скленный сформировать заранее в какую-нибудь переменную, и эту переменную вставить в поле на скрине выше. Заодно и проверить текст запроса внутри неё будет...
  2. LaGir

    Записать список в SQLite

    Пихает в одну строку - значит в обоих случаях нарушен синтаксис запросов. После формирования запроса/пакета сохраните его куда-нибудь (в переменную или файл) и проверьте вручную, где закралась ошибка.
  3. LaGir

    Записать список в SQLite

    По умолчанию SQLite на каждый запрос закрывает и открывает файл БД, на что и тратится больше всего времени. Решить проблему просто - отправлять данные одним запросом вида: INSERT INTO table (column1, column2) VALUES (data1, data2), (data1, data2), (data1, data2), (data1, data2); Либо отправлять...
  4. LaGir

    Шаблон отрабатывает очень медленно

    Чисто случайно параллельно с этим шаблоном не крутился ли какой-нибудь другой (другие) шаблон с похожими залоченными операциями с таблицами?
  5. LaGir

    Бесплатные снипеты на заказ

    project.Lists["Список 1"].AddRange(project.Variables["text"].Value.Split('\n'));
  6. LaGir

    Отключить макросы переменных в C# коде

    Насколько мне известно - никак. Но если уж очень хочется именно по-своему, можно просто в сниппете разделить литерал макроса, например так: project.Variables["text2"].Value = "{" + "-Variable.text-}"; Результат выполнения:
  7. LaGir

    Нужна помощь по xpatch

    Нужно сменить тип переменных: string pageID = project.Variables["id"].Value; //ID странички string postID = project.Variables["nomer_post"].Value; //ID поста на страничке Проверьте личку, писал на всякий случай по контактам.
  8. LaGir

    Нужна помощь по xpatch

    Путь //*[@id="wpt180262073_179"] - на весь пост целиком. Нужно также учитывать, что этот путь зависим от ID странички и ID поста. Саму задачу, если цепляться за такой путь, можно решить следующим образом: int pageID = 180262073; //ID странички int postID = 179; //ID поста на страничке...
  9. LaGir

    Нужна помощь по xpatch

    Да, достаточно обратиться к свойству InnerHtml вместо InnerText. return instance.ActiveTab.FindElementByXPath("//div[text()='"+block+"']/following-sibling::div",0).InnerHtml;
  10. LaGir

    The name 'FileSystem' does not exist in the current context.

    Thread.Sleep belongs to the namespace System.Threading, maybe you don't have this "using" in ActionGroup2.cs (by default it is absent in CC). Or you can just write like this: System.Threading.Thread.Sleep(beforeRnd);
  11. LaGir

    Нужна помощь по xpatch

    Точно правильно название контейнера пишете? Двоеточие не забываете? Если нет, приведите пример кода с другим названием контейнера, который не работает. У меня всё работает, проверил на двух страницах.
  12. LaGir

    Нужна помощь по xpatch

    Что-либо сломать со стороны шаблона могут только кривые пути (так же, как и кривые регулярки), поэтому не стоит так к данному инструменту. Можно использовать например такой код. Из сниппета возвращаться будет текст того блока, название которого указано в первой строке (н-р "Интересы:", "Любимые...
  13. LaGir

    Как получить количество совпадений в двух переменных?

    string s1 = project.Variables["peremennaya_1"].Value; string s2 = project.Variables["peremennaya_2"].Value; return s1.Split(new[]{' '}).Intersect(s2.Split(new[]{' '})).Count();
  14. LaGir

    XPath универсальный C# шаг работы с элементами

    Можно зайти в Общий код и удалить пару строчек: А можно использовать более простой код, без Общего кода: string count = project.Variables["count1_tr"].Value; string xPath = "//tr[@class='datarows'][" + count + "]/td[@id='td-x-7']"; return instance.ActiveTab.FindElementByXPath(xPath,0).InnerText;
  15. LaGir

    mуsql и русский язык

    Смотришь какой тип базы и соответствие на джино, ставишь такие же на webtropia.
  16. LaGir

    How Can I Export Project from ProjectMaker to CodeCreator?

    What is the problem in the details?
  17. LaGir

    The name 'FileSystem' does not exist in the current context.

    If you need to use properties or methods of instance or project in your function/method - use them as arguments, otherwise - don't use. I think that's enough. If your template is complicated, it makes sense to create separate class with instance and project properties, and initialize them at the...
  18. LaGir

    The name 'FileSystem' does not exist in the current context.

    Class FileSystem belongs to ZennoLab.Macros namespace. In CC, by default "ZennoLab.Macros.dll" is absent: So you need to add to References this dll from ZennoPoster directory, and add "using ZennoLab.Macros;" to your .cs file.
  19. LaGir

    Excel - возможна ли работа с листами

    Примеры этой статьи основаны на работе с двумя листами через ту либу.
  20. LaGir

    Экранирование символов для отправки SQL-запроса

    Одно из предназначений параметров - как раз экранирование, можно сказать, это и есть правильный подход. В коде, при использовании методов ZennoPoster.Db для связи с БД - создаём OrderedDictionary, заполняем его параметрами, вставляем как аргумент:
  21. LaGir

    подключение SQLite

    Если собираетесь работать с библиотечкой напрямую через код (без кубиков и методов ZennoPoster.Db), то достаточно подключить к шаблону саму либу "System.Data.SQLite.dll", и прописать в директивах "using System.Data.SQLite;". При этом инсталлер и всё прочее попросту не нужно.
  22. LaGir

    How to use custom c# function inside c# code block?

    This question is for the developers. But it seems there is a fifth version. In Visual Studio, it's better to debug the main logic of your templates, and work with the instance is better done in CodeCreator, imho. It is possible to emulate the instance and other things in VS, but there are many...
  23. LaGir

    Бесплатные снипеты на заказ

    Не знаю как в кубике, но в коде таймаут запроса указывается в миллисекундах. То есть, у тебя указано 30 мс (0,03 секунды), и судя по тексту ошибки этого времени слишком мало. С использованием прокси, имхо, как минимум секунд 10 стоит ставить (то есть писать 10000).
  24. LaGir

    How to use custom c# function inside c# code block?

    @zenfreak, you can debug your scripts in VS for using in Zenno, but you need to remember that it does not support last versions of C#. For example, your code from that topic: Code examples like this string k = "example"; return $"Some {k} of text"; is a short variant of String.Format method...
  25. LaGir

    Шаблон в ZennoPoster demo

    Проверьте блок шифрования, скорее всего там указана минимальная версия 5.10.7.0:
  26. LaGir

    How to use custom c# function inside c# code block?

    You can create field or property in your class (by the way, project works in the same way): And in the first C#-action of your template you need to initiate them: There is another way. If you need to use "instance" or "project", you can just pass them to your method as arguments:
  27. LaGir

    How to use custom c# function inside c# code block?

    1. 2.
  28. LaGir

    Кто как понимает разницу между делегатом и событием с# и их необходимость

    В дополнение к предыдущему ответу, в формате видео ещё тут довольно подробно и понятно объясняют:
  29. LaGir

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

    Как вариант - искать нужное во всех документах страницы: //Перебираем в цикле все документы на странице foreach (var doc in Tab1.AllDocuments.Documents){ //Ищем нужные элементы в каждом документе var el1 = doc.FindElementByXPath("XPath1",0); var el2 =...
  30. LaGir

    Как получить кол-во строк из БД?

    Вот тут вместо ZennoPoster должен быть ZennoLab.
  31. LaGir

    Как получить кол-во строк из БД?

    Да, пардон, забыл про скриншот и чутка неверно работающий конвертер зеннки.
  32. LaGir

    Как получить кол-во строк из БД?

    Эти двойные кавычки внутри запроса ломают весь код. Замена их на одинарные кавычки должна помочь. Думаю, имелся ввиду именно зенновский метод ExecuteScalar.
  33. LaGir

    How to parse bullets on Amazon?

    https://help.zennolab.com/en/v5/zennoposter/5.10.6.0/webframe.html#topic382.html https://help.zennolab.com/en/v5/zennoposter/5.10.6.0/webframe.html#topic387.html https://help.zennolab.com/en/v5/zennoposter/5.10.6.0/webframe.html#topic107.html...
  34. LaGir

    Парсинг на C# https://www.fonbet.com/live

    Прочитал из интереса и тоже запилил, а уже отписались. Ну да может мой вариант тоже приглянется, с помещением сразу в табличку проекта. var table = project.Tables["Таблица 1"]; int i = 0; var basketRows =...
  35. LaGir

    rnd.Next(0,10) первое и последнее число что будет генерить?

    От 0 до 9 включительно, 10 как верхняя граница не считается.
  36. LaGir

    Как сделать перебор Английского алфавита?

    Думаю, гораздо проще обращаться к столбцам по номеру. Так же, как со строками, нумерация с нуля.
  37. LaGir

    Сниппеты эмуляции мыши: FullEmulationMouse

    За работой немного позабыл об этой темке хотя давно пора было ответить на вопрос, который задавал в первом посте темы. VladZen в этом сообщении объяснил, что sizeOfType, второй параметр метода FullEmulationMouseMoveAboveHtmlElement относится к отступам/примерному размеру шрифта "читаемого"...
  38. LaGir

    Бесплатные снипеты на заказ

    Нужно использовать второй вариант кода, но надо добавить какой-нибудь вариант скролла. "he.ScrollIntoView();" сам по себе не будет крутить экран к элементу, если элемента на текущем варианте страницы нет. Можно, например, использовать javascript отсюда. В итоге что-то типа такого должно быть...
  39. LaGir

    Нажать кнопку button в теге div, учитывая его стиль, среди нескольких подобных элементов

    XPath на скрине явно неправильный. Не уверен, что понял задачу, но если ориентироваться на выложенный html, див и кнопку можно найти следующим образом: //Получаем первый див с классом "order order-type-usual order-level-1" var div = instance.ActiveTab.FindElementByXPath("//div[@class='order...
  40. LaGir

    Работа с формами, не сохраняет данные

    Нужно поместить получение текста в обработчик нажатия кнопки: button.Click+= delegate(object sender, System.EventArgs e) { project.Variables["text"].Value = rtbox.Text; project.Variables["kod"].Value = "1"; F.Dispose(); }; А вот строчки 41 и 42 убрать совсем. При нажатии кнопки форма...
  41. LaGir

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

    Вот тут ещё есть информация и любительские примеры.
  42. LaGir

    Сниппеты эмуляции мыши: FullEmulationMouse

    Рассмотрим подробнее метод FullEmulationMouseSetOptions, доступный с версии 5.10.4.1. Предназначен он для установки параметров эмуляции мыши, причём после каждого вызова метода Navigate параметры сбрасываются на значения по умолчанию. Параметры. 1. pause Описание. Пауза в миллисекундах при...
  43. LaGir

    Сортировка таблицы C#

    Как вариант, можно что-нибудь типа такого использовать. А вообще, если переводите на c#, то имхо лучше сразу БД для таблиц использовать. Освоить не особо сложно, а возможностей гораздо больше и пользоваться намнооого удобнее.
  44. LaGir

    Бесплатные снипеты на заказ

    Если только цифры с одной запятой, точно нужно использовать именно зенновский метод, а не обычный Replace? Он и без запятой тем более нормально работает. project.Variables["Esti"].Value = project.Variables["Esti"].Value.Replace(",", String.Empty); Просто в 5.9.9.1 у класса TextProcessing ещё не...
  45. LaGir

    Сниппеты эмуляции мыши: FullEmulationMouse

    Приветствую всех! Не так давно ZennoLab порадовали нас обновой с виртуальной мышью. Хотя лично у меня пока не было нужды использовать мышь в своих проектах, из интереса посидел вечерок за тестами новой эмуляции. В результате родились на свет пара сниппетов и чутка размышлений, кои и...
  46. LaGir

    EPPlus и IZennoTable два вопроса.

    Стандартный функционал Zenno позволяет работать только с первым листом, для большего нужно использовать сторонние библиотеки. По приведённой выше ссылке как раз есть пример как записать данные в 2 разных листа одного Excel-файла с помощью EPPlus.
  47. LaGir

    Можно ли в xPath проверить сразу 2 значения?

    Можно, например с помощью оператора '|'. string strAttribute = instance.ActiveTab.FindElementByXPath("//div[@class='follow']|//div[@class='follow_vip']",0).GetAttribute("OuterHtml");
  48. LaGir

    C# Как нажать на кнопку, и учесть InnerText?

    Хорошо бы пример или более подробное объяснение, так пока не совсем ясно что именно требуется. Если нажатая в первый раз кнопка остаётся на странице, то да, следующий клик этим кодом будет по первой, так как номер совпадения стоит 0. Либо создавать коллекцию с кнопками и перебрать её с кликом...
  49. LaGir

    C# Как нажать на кнопку, и учесть InnerText?

    Если точно известен всё содержимое InnerText: Tab1.FindElementByXPath(".//div[@class='controls']/button[text()='нужный ИннерТекст']", 0).Click(); Если известна часть содержимого InnerText: Tab1.FindElementByXPath(".//div[@class='controls']/button[contains(text(), 'часть нужного ИннерТекста')]"...
  50. LaGir

    Обработка исключений при работе с ZennoPoster.Db

    Как и писал выше, значит надо начать работать с библиотекой MySql.Data.dll напрямую (она есть в папке Progs с установленным ZP, достаточно скопировать в ExternalAssemblies и подключить к проекту), в обход зенновских методов - тогда можно будет поймать и идентифицировать любую ошибку. Как...