• Почему рекомендации Labrika все время меняются?

    opium
    @opium
    Просто люблю качественно работать
    Так вы же копирайтер и прекрасно понимаете что все эти вхождения взяты грубо говоря с потолка к тому же и с +-
    И можно смело игнорировать мелкие рекомендации
    Ответ написан
    Комментировать
  • Почему рекомендации Labrika все время меняются?

    Grinvind
    @Grinvind
    Помогаю увеличивать трафик с поисковых систем
    Вероятнее всего, Лабрика берёт данные из ТОП-а выдачи. А ТОП может меняться, отсюда и изменение требований вхождений. Договоритесь с клиентом на каком-то фиксированном количестве вхождений.
    Ответ написан
    Комментировать
  • Как периодически обновлять страницу и нажимать на кнопки?

    wapster92
    @wapster92 Куратор тега JavaScript
    https://github.com/puppeteer/puppeteer
    Правда без знания языка мало чем тебе поможет.
    Еще возможно обойтись вообще без сторонних программ, а посмотреть как устроены запросы на получение заказов и что отправляется на сервер по нажатию на кнопку.
    Без знаний языка есть плагины для браузеров с подобным функционалом
    Ответ написан
    1 комментарий
  • Как периодически обновлять страницу и нажимать на кнопки?

    aliencash
    @aliencash
    Партизан
    Не имеет отношения к программированию, но есть автокликеры. Например есть такие, к которых можно задать последовательность кликов мышью по разным координатам на экране. Только вы что думаете, ваши конкуренты еще до этого не додумались? )
    Ответ написан
    Комментировать
  • Заполнение и отправка формы в точно указанное время, можно ли?

    @zkrvndm
    Софт для автоматизации
    Тут все зависит от маленького нюанса, а именно, что будет если отправить форму на секунду раньше? Форма не отправится? Или отправится, но скидку не получишь?
    Ответ написан
    3 комментария
  • Заполнение и отправка формы в точно указанное время, можно ли?

    @rPman
    Скрипт будет зависеть от верстки сайта, и будут меняться при ее изменении. Браузеры имеют вместе с консолью разработчика отличный инспектор, если нажать правую кнопку мыши на желаемом элементе на форме (если возможность заблокирована, то нужно жать shift+правая кнопка мыши) и выбрать Inspect/Посмотреть код, а затем уже в открывшемся инспекторе выделить нужный элемент (input например) и в меню выбрать Copy -> CSS selector, то полученную строку можно напрямую скормить $('строка css selector') и получить нужный элемент, у которого можно править .value=xxx или нажимать .click(). Могут возникнуть сложности с кастомными select или там где форма отслеживает нажатия на клавиатуре,..

    В борьбе с блокировщиками рекламы и автоматизаторами некоторые веб разработчики научились создавать такую верстку, что в ней сложно определить простые правила css selector, так как они будут меняться (но не невозможно, например с помощью getBoundingClientRect() к каждому элементу на странице можно определить его координаты (и видимый ли он) и уже по координатам идентифицировать нужный (блокировщики пока не умеют его использовать но автоматизаторам уже не проблема), так же можно поглядывать на текстовое содержимое, например выделяя подписи к элементам формы.

    Еще проблема - тайминги. Момент времени можно подобрать с помощью setTimeout, например переставляя его ежесекундно можно постоянно пересчитывать интервал (смотреть текущее время, целевое время и время установки предыдущего интервала, вычислять ошибку в миллисекундах, которую вносит браузер), чтобы в момент икс последний setTimeout выполнился точно в срок. Еще важно, время на сервере может отличаться от времени на клиенте, точное можно попытаться определить из заголовков запросов к серверу XMLHttpRequest.getResponseHeader() к не статичным файлам, но это конечно не дает гарантии. Плюс можно попытаться вычислить ту половину пинга, которое сетевой пакет тратит чтобы перейти от клиента к серверу, плюс поправка на скорость работы самого браузера (экспериментами, в т.ч. с теми же запросами, на которых время на сервере определяешь). Так же можно проанализировать как отвечает сервер в момент нагрузки.

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

    p.s. а потом осознать, к примеру, что декларируемые и фактические правила получения скидки у владельца сервиса - отличаются.
    Ответ написан
    Комментировать
  • Как ускорить работу если надо одновременно использовать 20 вкладок?

    @zkrvndm
    Софт для автоматизации
    Исправить этот никак нельзя, но можно переделать сам механизм парсинга. Нахрена вам вообще отображать страницу, если вам чисто нужен его html-код? Берете и POST / GET запросом напрямую дергаете информацию и тогда можете парсить хоть в 20 потоков, хоть в 200 потоков.
    Ответ написан
    2 комментария
  • Как ускорить работу если надо одновременно использовать 20 вкладок?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    Поставите блокировку рекламы, это ускорит работу.
    Ответ написан
    Комментировать
  • Могут ли узнать что страницу перещагружают с помощью расширения?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Узнать не могут.
    Ничего не будет.

    Иногда барахлит тот сайт или твой интернет.

    В теории админу может прийти в голову забанить твой ip-адерс, но без особой причины это глупо. Невозможно заранее предсказать, дурак ли админ.

    P.S. Если ты каждые 30 минут будешь заходить в продуктовый магазин и выходить из него, то это не слишком быстро? Продавцы и охранники не заподозрят неладное? И если заподозрят, то что будет?
    (Наверняка приедет сам Путин и лично нацепит на тебя наручники)
    Ответ написан
    1 комментарий
  • Почему установка Visual Studio каждый раз начинается заново?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    В меню Пуск есть два ярлыка:
    - Visual Studio Installer
    - Visual Studio 2019
    Запускайте второй ярлык.
    Ответ написан
    Комментировать
  • Почему установка Visual Studio каждый раз начинается заново?

    @alekcena
    Нелинейный наставник
    Если ты открываешь установщик логично что будет происходить установка.
    Сделай себе значок именно программы и открывай его)
    Ответ написан
    Комментировать
  • Как узнать, в какое время данные формы поступили на сервер?

    Вопрос, однако, неожиданный :)
    1. Время почти всегда определяется по времени сервера, где находится сайт.
    2. Как именно регистрируется момент прихода сообщения от пользователей целиком зависит от создателей сайта.
    3. Как именно происходит выбор победителя также целиком зависит от создателей и может отличаться от того что они декларируют.
    Вывод: надеяться на честность хозяев сайта и продолжать участие - когда-нибудь повезёт :)
    Ответ написан
    Комментировать
  • Как указать московское или серверное время в автоотправке запроса с помощью JS?

    @ksnk
    Что такое - сверхвысокая точность ? С точностью до секунды?
    Как узнать оставшееся время в setTimeout?
    Устанавливает таймер на "точный" интервал. Точность достигается тем, что функция вызывается раз в секунду (интервал настраивается) и корректирует оставшееся до событие время. Реальная точность зависит от нагрузки на компьютер в момент срабатывания таймера.
    Для срабатывания в нужное время нужно указать это время в формате с таймзоной.
    function setMyTimer(_t, interval){
            if(typeof(_t)=='function'){
                _t={main:_t}
            }
            _t.start=Date.now();
            _t.interval=_t.interval||interval;
            _t.log_interval=_t.log_interval || 1000;
    
            function log(){
                const diff=_t.interval - (Date.now() - _t.start);
                if(_t.log)_t.log(diff);
                if(diff>_t.log_interval)
                    setTimeout(log,_t.log_interval);
                else {
                    setTimeout(_t.main,diff<0?1:diff);
                }
            }
    
            setTimeout(log,_t.log_interval);
        }
    
        let AlertTime=new Date('2020-11-18T10:39:00+03:00') ;
    
        setMyTimer(()=>alert('Доставка!'), AlertTime.valueOf()-Date.now());
    Ответ написан
    3 комментария
  • Как указать московское или серверное время в автоотправке запроса с помощью JS?

    @zkrvndm
    Софт для автоматизации
    Это делается так, ставится setInterval() для проверки текущего времени допустим каждый час, когда до назначенной даты остается несколько часов, меняем интервал проверки и уже проверяем дату каждую минуту. За несколько минут, начинаем уже проверять время каждую секунду и за несколько секунд до нужного времени, выкатываем setTimeout() с точным количеством миллисекунд для запуска вашей команды в точно указанное время.
    Ответ написан
    Комментировать
  • Как нажать на кнопку в точно указанное время?

    max_shane
    @max_shane
    Javascript / Node.js dev
    Во-первых, точность вам никто не гарантирует.
    Сами методы setTimeout и setInterval не означают, что "должен сработать ровно через столько-то времени".
    Они означают "пусть сработает не раньше такого-то времени". А как сработает, зависит от множества факторов.

    Чтобы реализовать вашу задачу усилиями только скрипта, можете за 1 минуту до нужного вам времени запустить скрипт, который попытается вызвать setInterval с таймаутом 86400000 мс ровно в тот момент когда
    new Date().getHours() === yourHours && ... дальше тоже самое вместо hours повторить с минутами, секундами, миллисекундами.
    Здесь yourHours - переменная в которой указываете в который час должно произойти событие. И с минутами, секундами аналогично.
    И далее ваш setInterval будет вызывать коллбэк с периодичностью 24 часа - можете сами выбрать периодичность. Я для примера привел чтобы работало раз в сутки.
    Ну или можете каждый день запускать скрипт заранее.
    А вообще такое лучше делать на сервере с помощью cron.
    Ответ написан
    1 комментарий
  • Какие есть ограничения у времени повторения setInterval?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    setInterval не запускает ваш код. Он только ставит таймер, и через указанный промежуток времени сообщает браузеру, что ему нужно выполнить этот код. Но это не гарантирует что ваш код будет исполнен тут же. Задача будет поставлена в очередь. И браузер заберёт её из очереди тогда, когда сможет. Все остальные задачи точно так же будут становиться в очередь, даже если предыдущие ещё не были выполнены.

    https://medium.com/devschacht/javascript-eventloop...
    Ответ написан
    1 комментарий