timo-71, ты пойми, практика решает, без практики - это пустая полемика, то есть разговор ни о чём. давай сервис -- обойдем)) ---------- Добавлено 09.10.2019 в 14:55 ----------
Нет. не путал, давай сервис -- обойдем)) ОбойдУ точнее)) ---------- Добавлено 09.10.2019 в 14:57 ----------
Это всего лишь "вероятно", то есть эти вероятности существуют в твоём представлении об этих вещах, на самом деле код выполняется по определенной спецификации и она фиксирована то есть детерминированна. Давай сервис -- обойду))
в примере можно переставлять действия рандомно местами. они выполняются асинхронно. то есть это вообще не работающий пример а просто полемика.---------- Добавлено 09.10.2019 в 14:45 ----------MkrtElion, ты давай пример сервиса который необходимо обойти, слова это хорошо, я понимаю))
timo-71, вобщем давай реальный сервис, который нужно обойти, я не люблю софитсику, то есть безпредметный разговор. в примере выше никаких действий визуально фиксируемых не происходит вообще. то есть это запоротый код, неюзабельный. давай реальный сервис и подумаем.
Сущестует разница между программовызваемыми событиями, то есть здесь есть вставка document.getElementById, она меняет ход обработки.
Опять же, можно попробовать на приведенном сервисе.
В этом и дело что зависит от библиотеки, но аппаратно при клике происходит всего два события -- это нажатие и отжатие, почему и говорю что необходимо привести линки и провести тест тогда разговор станет предметным.---------- Добавлено 09.10.2019 в 14:29 ----------[Log] onmousedown (_display, line 42)
[Log] onmouseup (_display, line 46)
[Log] onclick (_display, line 38
клик - следствие сочетания 2х предыдщих событий, то есть это событие (клик) уже реакция встроенного обработчика, а инициируют его 2 предыдущих события. но опять же на практике лучше тестировать на конкретной задаче, а ее от возмущающегося не поступило.
Давай линк -- я пойду, все что ты на меня пишешь бездоказательно, вот я предлагаю, ты даешь линк, я прохожу. И посомтрим кто уйдёт читать доки.---------- Добавлено 09.10.2019 в 14:09 ----------у тебя в мышке стоит ключь-- механический контакт, управляемый действием руки, у него всего два положения - замкнут и разомкнут, это и передаётся в драйвер. Вобщем давай свой линк, посмотрим, иначе это тупая софистика уже идёт.
Давай ты не будешь навешивать на меня свои оскорбительные ярлыки а приведёшь линк сервиса и список действий которые необходимо на нём выполнить. Мне самому интересно.---------- Добавлено 09.10.2019 в 13:56 ----------
как раз наоброт -- видно что ты нкомпетентен. дословно маус даун -- это нажатие левой кнопки мыши, то етсь нижнее положение, маус- апп это отжатие над объектом, то есть ыт не шаришь и пытаешься на меня гнать. давай свой сервис, и пообсуждаем предметно.
Lesson #1
Собственно, с чего следует начать? Написание ботов изначально вышло из так называемых юнит-тестов (unit-tests) и проводили их и продолжают проводить и создавать программисты, работающие над круными сервисами на этапе предвыпуска в продакшно, когда неоходимо протестироваь сервис точнее его функционал, доступнй пользователю, на функциональность, нагруженность, отказоустойчивость. Дл этого пишется бот, котрый выплняет действия, котрые будет выполнять пользователь, бот пишет логи, далее наращивается число потоков бота, таким образом тестируется выносливость сервиса к нагрузкам и эмпирически определяется количество узлов на необходимый поток посетителей, соответственно в результате теста рассчитывается количество пользователей, котое способен обслужить один узел (нода) сервиса, находятся и устраняются тонкие места производетельности. Делее ботов приспособили под несколько дугие задачи, но это отдельная тема))
Изначально боты писались на основе API Selenium Server, это встроенный в браузер сервис, посзволяющий отправлять на 4444 порт команды браузеру и получать ответ, далее появились решения такие как NodeJs, в частости позволивший автоматизировать часть обаботк браузерного JavaScript на стороне сервиса и выводить конечному пользователю уже собранный интерфейс, выолнив обработку значительной части JavaScript, таким образом разгрузив клиентские девайсы от нагрузки, что в свою очередь было обусловленно, очнее потребность в чём была обусловленна возросшей применяемостью мобильных девайсов, котрые на первых этапах обладали весьма скудными возможностями к обработке интерфейсов и соответсвенно изрядно тупили от навороченных интерфейсов популярных сервисов.
Существует ряд решений, бибилиотек, используемых для автоматизации браузера в NodeJs, это такие как: NW, Nightmare, Protractor, Chimera, ZombieJS, PhantomJS идр..
Наиболее удобным лично мне представился Nightmare потмоу на нём будут рассмотрены дальнейшие примеры.
Имитация барузера необходима лишь в случае если инттерфейс рендерится при помощи JavaScript, тогда обычный парсер не сможет забрать контент страницы, и там где страница выводится статично можно ипользовать обычные парсящие бибилотеки такие как Axios.
Собсвтенно для начала необоходимо установить NodeJs, npm и запустить простейший скрипт для тестирования корректности установки.---------- Добавлено 09.10.2019 в 13:43 ----------XPraptor, давай конкретный сайт, попробуем пробить, иначе непредметный разговор получется.---------- Добавлено 09.10.2019 в 13:44 ----------
спорный вопрос, его нужно тестировать, вообще клик это moudeup+mousedown, но лучше проверить вживую, потому давай свой непроходимый сайт, попробуем.
XPraptor, ---------- Добавлено 09.10.2019 в 13:25 ----------Lastwarrior,
Тут ты прав, в этом вопросе нужно идти в обход.
Twickbot, слуш, зачем ты суешься со своим скепсисом? сказал -- давай задачу, покажу. назачем ты прилез со своими недоразумениями.