Сообщество - Программы и Браузеры
Добавить пост

Программы и Браузеры

470 постов 4 959 подписчиков

Популярные теги в сообществе:

Автоматизация однотипных действий, ч.2

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

Ссылка на первую часть

А теперь продолжим изучать создание сценариев действий в Clickermann.

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

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

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

Для этого есть следующие комбинации:
Alt + A – Запуск сценария;

Alt + A – Пауза сценария (после его запуска);

Alt + S – Полная остановка;

Alt + R – Начать запись сценария;

Перед созданием сценария, вам необходимо подумать, при каком окне и размерах окна, будет стартовать ваша программа. Например если выработаете в сочетании окон Word, Chrome, Excel и запишите свой сценарий при таком расположении значков:

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

То при таком, она уже работать не будет(если не внедрять проверку с анализом экрана, но об этом позже):

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Тоже самое касается размера окна, поэтому я советую просто открыть все окна в полноэкранный размер и записывать скрипты исходя из этого.

После того как вы определитесь с этим, следует также учесть эти стартовые порядки и размеры при каждом следующем запуске скрипта, например сначала вы открываете все файлы и только потом запускаете скрипт.

Немаловажный момент касается цикличности исполнения. Например если ваш скрипт подразумевает повторы, условно:

1) Открыть браузер
2) Нажать на закладку с адресом сайта
3) Скопировать информацию
4) Занести в таблицу эксель
5) Перейти к п.1

То при следующем открытии браузера уже будет открыта загруженная страница сайта и возможно не будет той закладки по которой вы переходите, соответственно все дальнейшие действия будут неверными, поэтому нам нужно изменить свой скрипт так, чтобы он возвращал все положения окон в их изначальное состояние на старте, например так:

1) Открыть браузер

2) Нажать на закладку с адресом сайта

3) Скопировать информацию

3.5) Закрыть браузер

4) Занести в таблицу эксель

5) Перейти к п.1

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

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

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Тогда у вас будет достаточно времени, чтобы подойти и отключить скрипт.


Теперь о записи действий, у неё есть неоспоримый плюс - скорость и простота, достаточно включить запись действий (Alt + R) и один раз в ручную совершить эти действия, после чего остановить запись. Тут следует учесть, что запись идёт непрерывно по всем движениям мышки, я записал 10-ти секундные движения, у меня получилось следующее:

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Как вы понимаете отредактировать такое будет невозможно, но если вам не нужны просто движения мышкой без кликов и действий, то открываем настройки и в разделе "Интерпретатор" убираем галочку "Записывать движения мыши" и жмём "применить".

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Теперь наш скрипт получился намного короче, но разобраться в нём всё ещё довольно сложно:

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Также запись не позволяет вам использовать такие функции как анализ экрана, анализ текста скопированного в буфер, какие либо вариации в сценарии в зависимости от происходящего.
Поэтому данный способ идеально подходит для коротких, не вариативных действий. Он позволяет без помощи редактора и соответственно без знания команд производить простые манипуляции.

Далее мы начнём углубляться в настоящее программирование своих сценариев.

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Представим, что нам нужно совершить выполнение какой либо последовательности действий несколько раз. Например обработать все входящие письма пришедшие нам на почту. При этом эта последовательность не является всей нашей программой, например наш скрипт проверяет почту, но основная его цель - копировать данные из одной таблички excel в другую. Как бы вы написали этот код?

Вероятно так (напишем псевдокодом):

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Работает? Да, но выглядит не очень, трудно читать и понимать.

Чтобы внести порядок в наш скрипт, мы будет использовать переменные и циклы.

Переменная - своего рода корзина, куда мы помещаем значение. Это может быть слово, буква, но чаще всего число. С этим числом можно производить арифметические действия, сравнивать его с чем либо и на основе этого, поведение нашего скрипта будет изменяться.

Цикл - выделение участка кода в отдельный блок, с целью его многократного использования.


Допустим, мы точно знаем, что нам каждый день приходит 5 писем, тогда мы можем сделать так:

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

ВАЖНО: общепринято выделять внутренности цикла отступом для пущей красоты и удобства понимания. для этого выделяем участок кода внутри цикла и нажимаем TAB или пробел. Вуаля, вы восхитительны.


У нас появляются новые команды:

DEFINE - объявление \ создание переменной, в скобочках указываем её название и через запятую значение, название всегда начинается со значка доллара, то есть правильно называть переменные $counter, $x, $letter, неправильно - counter, _z, $переменная.


WHILE - команда открывающая цикл, в скобочках пишем логическое выражение, например сравниваем переменную с другим числом. Сравнить можно так:

== "равно"

>= "Больше или равно"

<= "Меньше или равно"

> "Больше"

< "Меньше"

пока условие будет выполняться, блок кода внутри цикла будет исполняться, на нашем примере он исполнится 5 раз. Давайте отследим логическую цепочку, в первый раз переменная VAR заходит в проверку цикла со значением 0.

0 меньше 5? Да! - выполняем код
Затем мы встречаем команду:


INC - увеличить значение переменной, в скобочках указываем какую переменную и на сколько увеличивать ($var, 1). Поэтому наша переменная увеличивается на 1 и становится один. Без увеличения переменной мы получим бесконечный цикл и бесконечное повторение действий внутри цикла.

после чего встречаем новую команду:


END_CYC - противоположность команде while - закрывает цикл. таким образом каждый раз при соответствии условий будет исполняться всё что между этими двумя командами.

Вернёмся к нашей переменной var, она увеличилась на 1 и снова отправляется на проверку соответствия условию.

1 меньше 5? Да! - выполняем код. Увеличиваем переменную до 2.

2 меньше 5? Да! - выполняем код. Увеличиваем переменную до 3.

3 меньше 5? Да! - выполняем код. Увеличиваем переменную до 4.

4 меньше 5? Да! - выполняем код. Увеличиваем переменную до 5.

5 меньше 5? Нет! - теперь цикл больше не будет исполняться, действие программы пойдет к первой команде после цикла (ниже чем END_CYC ).

Таким образом наш код стал меньше, красивее и легче в редактировании, ваш босс увидел как быстро вы принимаете задания и стал давать вам 10 заданий, соответственно приходит 10 писем, в прошлом коде вам бы пришлось копировать и вставлять, считать сколько раз вы уже вставили, не лишнего ли теперь? А сейчас достаточно поменять условие на WHILE($var < 10) и вот, всё будет точно работать 10 раз.

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Это вы, сравниваете количество ваших новых задач на столе по высоте пальца

Хорошо, а что на счёт вариативности кода? Если дальнейшие действия зависят от воли случая?
Для этого у нас есть операторы IF и SWITCH

IF - оператор сравнения, такое мы уже с вами видели в скобочках цикла WHILE. Оператор IF проверяет соответствие условию и если оно верно, выполняет действия в своем блоке кода.


Рассмотрим пример:

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Мы создаем переменную, кладем в неё значение 2. Оператор IF проверяет, равна ли var двойке, если да воспроизведется звуковой файл, если нет, пропустит эту строку. Конец блока кода оператора IF определяется оператором END_IF


Хорошо, мы разобрались с одним вариантом, но как быть если у нас два варианта, разных действий. Для этого применяется конструкция IF - ELSE

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Теперь оператор IF проверяет на соответствие переменной двойке, если она равна 2, воспроизведется файл end.wav, при любом другом значении переменной var будет воспроизведен файл start.wav

Бывают случаи, когда нам мало двух условий, например вы публикуете фотографии в 10 социальных сетях, под каждую социальную сеть, вы подготовили разные фотографии и положили их на 10-ти разных листах в документе excel, как сделать так, чтобы в нужную социальную сеть, попадало нужное фото?

SWITCH - оператор множественного выбора. В данном примере вы проверяем переменную post в зависимости от её значения от 1 до 10 открывается соответствующая страница документа. Данный оператор содержит в себе операторы CASE и END_SWITCH. Оператор Case() содержит в скобках значение переменной, при которой именно его действия будут выполнятся,своего рода это дверь, которая открывается тогда, когда переменная(ключ) подходит к его условию(замку) ну и END_SWITCH заканчивает блок кода выбора действий.

Автоматизация однотипных действий, ч.2 Программирование, Автоматизация, Видео, Длиннопост

Также можно заметить оператор DEFAULT который срабатывает, если переменная $post содержит в себе значение не подходящее ни под один CASE.


Таким образом, применяя IF и SWITCH вы можете создать по настоящему вариативную программу и уже начинать называть себя программистом =)

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

Работать это должно примерно так:

Для этого нам потребуется функция:

KEYSTRING - имитирует ввод с клавиатуры переданного ему значения. Можно вводить числа, например KEYSTRING("2") или строки KEYSTRING("Hello World") или переменные KEYSTRING($var) обратите внимание, в случае переменной кавычки внутри скобок не нужны. Ваши решения можете писать тут же в комментариях и подсмотреть решения других, если что-то не получается, но настоятельно рекомендую не делать этого сразу, а попытаться решить самостоятельно.

Показать полностью 14 1

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

Привет, наверняка многим знакома проблема однотипных действий за компьютером, особенно на офисных работах. Заполнение каких-то данных в таблицу, размещение постов в социальных сетях, поиск в базе данных и заполнение отчетов.

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

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост

И если про автоматизацию работы в эксель уже написано немало постов, то что делать тем, кто работает вне этой замечательной программы? Для этого я хотел бы создать серию постов, в которой попробую научить вас автоматизировать работу с помощью программы clikermann

Почему она?
- Она бесплатная. Совсем. Никаких пробных версий, никаких реклам в самой программе,  создана на чистом энтузиазме и добровольных пожертвованиях автору.
- Интерфейс максимально прост, как и язык написания сценариев.
- Есть возможность записи действий, можно полностью обойтись без редактирования или создания с нуля своего скрипта.

- Встроенный редактор.
- Не требуются права администратора для установки, скачал - запустил.

- Русскоязычная справка по программе и русскоязычное сообщество.

Что можно с помощью неё делать?
Лично я автоматизировал работу с 1С, SAP, сайтами, тем же экселем, публикации в социальных сетях. Так же можно запрограммировать действия в играх, реакцию на происходящее на экране, набор текста, буквально что угодно.

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост

Всего лишь иконка этой программы


В первой части уроков познакомимся с интерфейсом программы:

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост

Так как мы пытаемся сделать все как можно проще, расскажу только про самые необходимые кнопки. Создадим свой первый скрипт и попробуем написать какой-нибудь простой скрипт, своего рода Hello world от мира автокликинга.

Нажимаем на кнопку создания скрипта (1) и кнопку редактора (3).

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост

Интерфейс редактора


Нажимаем на сохранить как (4) выбираем место, где он будет храниться (желательно оставить его в папке с программой) и имя сценария. Сама программа и скрипты будут весить совсем немного, 640 КБ действительно хватит всем, для скриптов уж точно, поэтому можно за это не переживать.

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


Ну и собственно, как выглядит скрипт, который делает всю эту работу:

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост

Мы используем несколько команд:

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

LCLICK - Кликает левой кнопкой мыши по указанным в скобках координатам, необходимости прописывать их в ручную нет, просто наводите мышь туда, куда хотите кликнуть и нажимаете комбинацию ALT + Q . Команда с координатами вставляется в скрипт автоматически. Либо если хотите вручную их поправить, опять же наводим мышь на желаемое расположение и смотрим сюда:

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост


RCLICK - Соответственно всё тоже самое, только правой кнопкой мыши, вызывается тем же набором клавиш, просто нужно заменить в скрипте L на R.


Шаблоны
копирования и вставки (CTRL + C, CTRL +V) они уже есть в разделе шаблоны, нет необходимости их прописывать самому, просто выбираем подходящий.

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост


KEYPRESS
- В том случае, если нам нужно нажать какую либо кнопку, выбираем эту команду, кстати чтобы не прописывать в ручную, эту команду тоже можно выбрать из списка команд:

Как автоматизировать однотипную, монотонную работу бесплатно и без навыков программирования Автокликер, Автоматизация, Урок, Видео, Длиннопост


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

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

Показать полностью 8 1

Ищу: ПО для выравнивания громкости звука в Windows

Доброго времени суток, камрады.

Есть ситуация. Я с 2013 году пользовался материнской платой MSI Z87 G55. Хорошая платформа, неплохая мать, свои задачи делала и слава дэлаамам. К материнской плате прилагалось ПО Creative Sound Blaster Cinema, которое улучшало звук во всей системе, работая с драйвером. Самая топовая штука, которую я постоянно держал включенной, это аналог виндовой настройки Loudness equalization: выравнивание громкости, т.е. громкие звуки становились тише, а тихие - громче.


Пришло время менять платформу, я выбрал кукурузен и материнскую плату Gigabyte B450 Gaming X, и теперь у меня нет Sound Blaster Cinema. Стало не хватать выравнивания громкости. Появились проблемы: официальный драйвер материнской платы вообще не имеет вкладки Enhancements и включить виндовую Loudness equalization нельзя, а дефолтный виндовый драйвер хоть и имеет эту вкладку, но некорректно работает с наушниками.


Вопросы: есть ли стороннее решение, которое бы работало на уровне качества Sound Blaster Cinema и делало выравнивание громкости во всей системе?

Или может, проще купить нормальную звуковую карту от того же Creative и забыть? Я бы так и сделал, если бы знал, что такая штука есть в ПО к таким звуковым картам. Но информации о такой функциональности у карточек Creative не нашел.

Не уверен, что угадал с сообществом, можно перенести в другое.


UPD:

Решил проблему с помощью модифицированного драйвера AAF DCH Optimus Sound. По идее он подходит для всех современных карт Realtek.

В нем есть встроенный Creative BlasterX 720, в котором в свою очередь есть SMART VOL, как и в старенькой Sound Blaster Cinema. При установке нужно выбрать BlasterX 720 в списке опций. Важно при этом не ставить галочки на все подряд, а ставить только на драйвер и BlasterX 720, т.к. разные компоненты как-то между собой конфликтуют.

Получить доступ к BlasterX 720 можно через приложение Sound Blaster Connect, которое устанавливается с драйвером.

Вопрос закрыт.

Показать полностью

Делаем плавную прокрутку в Firefox

about:config

general.smoothScroll.mouseWheel.durationMaxMS = 1000

general.smoothScroll.mouseWheel.durationMinMS = 1000

general.smoothScroll.stopDecelerationWeighting = 0.2

mousewheel.min_line_scroll_amount = 5 or 60 prefer [50], If 60 is too fast (or slow) for you, you can change to a value that is suitable for you. Generally, the higher the value, the faster the page will scroll.

mousewheel.acceleration = prefer [ factor 1 & start 1] , Double click the “mousewheel.acceleration.start” entry and change the value to 1 or more (the value is the number of times the wheel is scrolled before the acceleration kicks in).

Double click the “mousewheel.acceleration.factor” entry and change the factor to the speed you desire. The default factor is 10, which means your scrolling speed will increase by 10 times when the acceleration starts. You can change it to higher or lower, depending on your needs.

Note: If this trick causes issue to your mouse wheel scrolling, you can disable it by setting the “mousewheel.acceleration.start” entry back to “-1”

general.smoothScroll.pages.durationMaxMS =1000

general.smoothScroll.pages.durationMinMS =1000

general.smoothScroll.pixels.durationMaxMS =1000

general.smoothScroll.pixels.durationMinMS =1000

general.smoothScroll.scrollbars.durationMaxMS =1000

general.smoothScroll.scrollbars.durationMinMS = 1000

Показать полностью

Сбой работы телефона

Прошу помощи.
С утра начал чудить мобильный телефон редми 9. Не пускает в определенные приложения и в mi браузер. Нажимаю на иконку, идет загрузка и... Все. Окно сворачивается. Память почистила, кэш почистила, на вирусы проверила. Причем только определенные приложения. Маил, ВТБ, ми браузер, гет контакт и бон прикс. Снесла приложения, переустановила. Всё работает. Через 10 минут опять не пускает. Захожу в плей маркет. Там уже и клавиатура работать не хочет. Чё делать не знаю. Может, подскажите?

Проблема с загрузкой фото 2,0. Решено

вот ссылка на предыдущий пост: Проблема с загрузкой фото


Спасибо всем, кто принял участие в моей проблеме. Благодаря вашим советам, я узнала много интересного. Поверьте, это все было не зря. Для тех, кто торопиться, решение в конце поста.

Для тех кто не читает предыдущие посты:

"По работе, мне ежедневно нужно выкладывать посты с фото в ВК и ОК. Также веду сайт на Wix. Возникла проблема, при попытке добавить картинку в пост, картинка не загружается. Может просто появится превью, но кнопка опубликовать не работает (в ОК). В Вк просто появляется имя фотографии, и загрузки не происходит. В WIX фотографии пытаются грузиться, но могут провисеть в загрузке долгое время, не загрузившись.

Так же и с видео. Проблема минимум в трех браузерах (основной мой это Хром). Антивирусом все проверила. (даже тремя), проблем нет. Сами картинки небольшого разрешения, не тяжелые, джепеги."

Собственно, промучившись пару недель, я решила все забросить. Взяла паузу, тк голова уже от этого гудела по ночам. Поговорив с другом, который "програмист :)" и "эти ваши интернеты" знает, услышала от него версию, которая меня зацепила. Он предположил, что проблема может быть в недавнем обновлении Касперского. Который накануне событий, как раз и обновила, вместе с закончившейся лицензией. Я правда такое подставы от него не предполагала, и забила на эту идею на все мартовские праздники и дальше.

И вот сегодня, я таки решилась написать в поддержку. Пришлось удалить предыдущие версии тотала, который просто так не сдался, накатила новую версию, и вуаля - картинки ставятся).

У меня решились все проблемы, и это замечательно))

Показать полностью

Как сделать задержку при открытии страницы в chrome?

Хотя в принципе не обязательно в хроме, можно и в любом другом.

Суть такова. Есть пк на кухне с пультом. Хочу смотреть Youtube TV (интерфейс удобный)

Раньше достаточно просто было перейти на youtube.com/tv и все работало. Но с недавнего времени это пофиксили и для обычного браузера идет перенаправление на обычную версию сайта. Да, есть расширения для этого, а также user agent switcher. НО. Браузер с сайтом настроен на автозапуск в полноэкранном режиме. И при открытии браузера сайт успевает прогрузиться раньше чем расширение, соответственно все рушится, но если обновить страничку через секунду после запуска браузера, все ок. Возможно плохо искал, но в интернете подобных проблем и решений не нашел. Есть ли возможность затормозить браузер перед открытием страницы? Находил одно расширение якобы для этого, но оно просто ставит заглушку поверх уже загружающейся страницы и ничего не работает. Надеюсь на помощь сообщества

В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?

Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.

Реклама АО «Кордиант», ИНН 7601001509

Revo Uninstaller сломался...

Забавный баг словил..

Revo Uninstaller сломался... Программа, Софт, Баг
Отличная работа, все прочитано!