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

Итак, я хочу, чтобы мой компьютер выполнял определенные действия на веб-сайте каждые 30 минут в течение 2 дней подряд. Я хочу, чтобы мой компьютер публиковал что-то на сайте, а заголовок должен показывать время. Кто-нибудь знает программу, которая может это сделать?

Я использую Windows.

Разработчики будут использовать Selenium . Можете ли вы дать немного больше информации о знаниях пользователя (т.е. вас, если я правильно понимаю). Подходит ли программирование или вам нужен простой пользовательский интерфейс?

Ответы (2)

Вот варианты, которые я могу предложить (в произвольном порядке):

  1. Селен . Это инструмент автоматизации для веб-браузеров. Обычно он используется разработчиками для запуска сценариев тестирования веб-сайтов, но может использоваться для любых целей, требующих повторяющихся действий на веб-сайте. вы бы написали сценарий, говорящий ему «щелкнуть это, ввести то и т. д.», и могли бы запускать его неоднократно. Он работает со всеми основными браузерами. Вам все равно понадобится отдельный инструмент, чтобы настроить его на регулярную работу.

  2. Сахи . Аналогичен Селену. Возможно, проще в использовании, но не так широко поддерживается. Тем не менее, он по-прежнему работает во всех основных браузерах. Как и в случае с Selenium, вам все равно понадобится отдельный инструмент для планирования его запуска.

  3. ФантомJS . Это немного отличается от других. Phantom — это «безголовый веб-браузер»; то есть это полнофункциональный веб-браузер, но без пользовательского интерфейса. Вы можете использовать его для навигации по страницам, но все взаимодействие с ним осуществляется с помощью сценариев, как для указания, что делать, так и для проверки полученных веб-страниц. Как и в случае с двумя другими вышеперечисленными инструментами, он часто используется для написания тестовых сценариев для веб-сайтов. Он значительно быстрее запускает свои скрипты, чем Selenium или Sahi, из-за отсутствия накладных расходов, связанных с загрузкой отдельного браузера и отсутствием необходимости отображать окно браузера на экране. Однако кривая обучения значительно круче, поэтому вам потребуется больше усилий, чтобы настроить ее и запустить. Как и в случае с другими, вам понадобится отдельный инструмент для его регулярной автоматизации.

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

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

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

Поскольку вы сказали «веб-сайт», вы можете использовать свой браузер, чтобы выполнить эту работу. Хотя Selenium тоже можно использовать.

Я буду использовать браузер.

Отказ от ответственности : для этого требуется среднее знание Javascript.

Вот это ваши лучшие друзья, эксплуатируйте их: setInterval, iframes, MouseEvents,KeyboardEvents

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

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

А затем используйте обычные селекторы и MouseEvents/KeyboardEvents, чтобы выполнить то, что вы хотите.

Пример:

Этот пример скрипта проголосует за первый ответ, опубликованный в самой последней теме на reddit.com/r/webdev.

Предупреждение: вы должны войти в Reddit

1. Откройте браузер (проверено на Chrome)

2. Перейдите на reddit.com/r/webdev.

3. Откройте консольCTRL + SHIFT + J

4. Вставьте следующий код и нажмите Enter (поясняется позже)

Вы можете уйти сейчас, просто убедитесь, что браузер продолжает работать.

Что творится??

Основными помощниками здесь являются setIntervalи iframes. Первый поддерживает цикл, а второй используется для выполнения сценариев, а само окно используется для поддержания среды.

Установите время окончания скрипта

var endLoopAt = new Date('July 08, 2016 08:24:00');

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

var sandBoxedIframe = document.createElement("iframe");
sandBoxedIframe.onload = checkAndUpvote;
document.body.appendChild(sandBoxedIframe);

Используется для проверки того, совпадает ли новая самая последняя ссылка с проверенной во время последнего запуска.

var lastUpdatedFirstPostLink = "";

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