Как сэкономить время, автоматизируя утомительные задачи с помощью AutoHotkey

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

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

Сценарий

Я пытался просмотреть и очистить кучу неправильных широковещательных сообщений в нашей учетной записи электронной почты, когда я понял, что их интерфейс требует, чтобы я вручную нажимал кнопку «Удалить» и затем подтверждал это в каждом отдельном сообщении — мы говорим о 300 неправильные сообщения, которые нужно было удалить. Что еще хуже, интерфейс очень медленный, что означает, что я потратил бы хорошие 30-40 минут, просто щелкая и делая мой запястный туннель еще хуже.

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

Первым шагом было точно определить, какие клики и клавиши мне нужно было автоматизировать — очевидно, первым шагом является нажатие кнопки X, которая вызывает диалоговое окно подтверждения Ajax:

К счастью, кнопка «Удалить» автоматически подсвечивается, поэтому вы можете просто нажать клавишу пробела для подтверждения. Как только запись удалена, все скользит вверх, как будто строки там никогда не было. Зная это, мы продолжим и создадим скрипт, который автоматизирует нажатие кнопки X, ожидая 3 секунды диалогового окна подтверждения, нажимает клавишу пробела, а затем ждет еще 3 секунды, пока строка не исчезнет.

Создание сценария

Первое, что мы хотим сделать, это создать цикл, который будет повторять одни и те же действия несколько раз — в этом случае мы рассчитываем, что нам нужно будет повторить это 300 раз, поэтому мы будем использовать цикл синтаксис такой:

Петля 300
{

}

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

Петля 300
{
нажмите
}

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

Петля 300
{
нажмите
Отправить, {Пробел}
}

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

Отправить, проверить

Итак, теперь у нас есть скрипт, который нажимает кнопку, а затем нажимает пробел, что было бы хорошо, если бы интерфейс был медленным, поэтому нам нужно вставить небольшую паузу между каждым выполнением функций click и send. Для этого мы будем использовать функцию Sleep, которая принимает только один аргумент — задержку в миллисекундах.

Петля 300
{
sleep 3000
нажмите
sleep 3000
Отправить, {Пробел}
}

Теперь у нас есть скрипт, который успешно удалит элементы, ожидая 3 секунды, прежде чем он запустится, так что вы можете навести курсор мыши на первый X, нажать кнопку, подождать 3 секунды, нажать пробел, а затем ждать 3 секунд, прежде чем он пройдет через следующий сет. Вы можете использовать этот простой сценарий прямо сейчас, если хотите — но что, если вы хотите остановить сценарий?

Мы будем использовать функцию GetKeyState, чтобы проверить, нажали ли вы определенную клавишу — для тестирования мы будем использовать клавишу F8 и добавим следующее в середину цикла. Это определит, была ли нажата клавиша F8, а затем использует разрыв для выхода из цикла.

GetKeyState, state, F8
if state = D
break

Последний сценарий

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

Петля 300
{
GetKeyState, состояние, F8
если состояние = D
перерыв
сон 3000
нажмите
сон 3000
Отправить, {Пробел}
}
Вернуться

Чтобы проиллюстрировать, как это работает на практике, вот краткое видео, которое показывает это в действии:

В этом конкретном сценарии мне потребовалось около 3 минут, чтобы собрать рабочий сценарий — сэкономленное время: 27 минут. Достаточно времени для меня, чтобы записать видео и написать эту статью!

Оцените статью
TutoryBird.Ru
Добавить комментарий