v4.1.0, 4.1.1:
Изменен сервер активации: cdn.fundata.fun Новый экшен "Индекс http клиента" Новый параметр GET/POST : "Асинхронный вызов" - Вызывайте запросы в новом потоке, без ожидания! OnErrorCallback, AfterRequestCallback принимает также (request, retry) объекты, как и BeforeRequestCallback. Выполнить JavaScript - Обновил редактор кода, теперь показывает подсказки API Impersonate. Обновил Crypto модуль (RSA) Добавил много подсказок к разному функционалу. По дефолту теперь Remote Build (Экономия веса проекта): https://github.com/Int64x86/moduleDll Много мелких правок.Ожидатель селекторов
-
Название: "waitingSelectors"
Версия: 1.1
Данные: waitingSelectors.zip
Согласие на добавление модуля в BAS: Да.
Описание: Модуль для ожидания сразу нескольких селекторов-
Модуль ждет появления одного из указанных селекторов, поиск будет остановлен сразу после нахождения любого из селекторов.
-
Поддерживаются селекторы >MATCH>, >CSS>, >XPATH> . А также селектор для поиска по изображение >img:threshold:scroll(noscroll)> base64
-
Для каждого из селекторов, по желанию, можно указать свою переменную для сохранения результата. Все результаты сразу можно получить в переменную, которая указывается в настройках модуля, в этой переменной помимо результатов поиска есть информация от том произошел ли timeout, сколько длился поиск и сам найденный селектор.
-
Для каждого селектора можно указать настройку видимости (для поиска по изображению не имеет смысла). Проверка видимости немного улучшена по сравнению со встроенной.

P.S. Я знаю, что есть похожий модуль, но этот как можно заметить имеет явные отличия, поэтому решил поделиться.
история версий:
-
-
@FastSpace причем тут твой интерактив? Контент может подгружаться уже после данного события и контент отрисовываться соответственно тоже. Может быть даже так, что сначала загрузиться просто какой-то loader(заставка), статус загрузки изменитьсч на интерактив, но по факту ещё ничего не загружено.
Кэш тоже про другое, он не всегда подходит, точнее не всегда есть смысл так усложнять процесс, потому что бывает надо анализировать ответ запроса.
-
@FastSpace это не редкие случаи, это сплошь и рядом, если это не сайт лендинг.
-
@UserTrue ну так когда найдены были селекторы контент тоже может подгружаться после. В своей сборке использую интерактив и ожидание кэша, нет проблем с таймаутами. На кучу потоков всё гладко без ошибок. В моём случае это связка не подводит в 95% случаев.
Ладно не будем холиварить, руки дойдут я мож сделаю нормальный модуль ожиданий событий в браузере. -
@FastSpace said in Ожидатель селекторов:
@UserTrue ну так когда найдены были селекторы контент тоже может подгружаться после. В своей сборке использую интерактив и ожидание кэша, нет проблем с таймаутами. На кучу потоков всё гладко без ошибок.
Ладно не будем холиварить, руки дойдут я мож сделаю нормальный модуль ожиданий событий в браузере.Ну вот это действительно супер редкий случай и тут надо кэш использовать. Обычно когда контент динамический, то элемент который его содержит или просто не виден, либо вообще отсутствует. И почти всегда можно составить селектор который будет виден только когда есть контент. Для 99% случаев костыли с кэшем не нужны, потому что не всегда достаточно просто проверить был ли запрос, запросы могут отличаться только параметрами тела запроса и тогда надо проверять ответ, а это уже сложней. А может быть вообще websocoket и что тогда?))
-
@tet-vivi said in Ожидатель селекторов:
@UserTrue said in Ожидатель селекторов:
А может быть вообще websocoket и что тогда?
код js обработки websocoket можно модифицировать для своих целей.
жаль в бас нет нативного для работы с вебсокет.это уже другая история, я много чего могу, но не все это это легко сделать простым и доступным для большинства да и в большинстве случаев это и не надо. Большинству достаточно проверить селектор.
-
@tet-vivi said in Ожидатель селекторов:
@UserTrue websocoket вроде не так уж и распространён
это к чему? случаи когда кода нельзя обойтись селектором ещё менее распространены )
-
@super84 said in Ожидатель селекторов:
Вот как я Люблю Споры этих наших Двух ребят, в их Спорах можно научиться многому :)
А Модуль сам имеет место быть так сказать, почему нет мол :)Самое интересное, что когда @olegtut сделал такой модуль, то никто не спорил. А тут видимо ревность какая-то )) Я не использовал тот модуль в первую очередь из-за невозможности сохранить результат в отдельные переменные, я люблю осмысленные названия переменных и поэтому для меня это было важным.
Ну а так то могу удалить тему, если модуль так раздражает )) Кто успел скачать того и тапки xD
-
@UserTrue said in Ожидатель селекторов:
@super84 said in Ожидатель селекторов:
Вот как я Люблю Споры этих наших Двух ребят, в их Спорах можно научиться многому :)
А Модуль сам имеет место быть так сказать, почему нет мол :)Самое интересное, что когда @olegtut сделал такой модуль, то никто не спорил. А тут видимо ревность какая-то )) Я не использовал тот модуль в первую очередь из-за невозможности сохранить результат в отдельные переменные, я люблю осмысленные названия переменных и поэтому для меня это было важным.
Ну а так то могу удалить тему, если модуль так раздражает )) Кто успел скачать того и тапки xD
Людям порой не угодишь, сегодня им нужно одно, завтра другое. Поэтому если считаешь нужно, значит нужно. А так думаю тут не ревность, а желание поспорить. От себя скажу что бывали моменты когда сайт выдавал кучу ошибок и их все нужно было обрабатывать, в таком случае подобный модуль бы пригодился, чем захламлять скрипт кучей IF.
-
@Fox said in Ожидатель селекторов:
@UserTrue А для чего столько инпутов? Проще было сделать один инпут с кнопками "добавить" и "удалить"
Можно было и так. Но мне так удобней, не надо ничего добавлять удалять. 20 инпутов я думаю хватит с избытком. Я специально перенес кнопки сохранения вверх, чтобы не приходилось скролить все инпуты.
-
@FastSpace said in Ожидатель селекторов:
интерактив и ожидание кэша
Что за штуки? Первое - это эмуляция ожидания? А второе? Проблема эта задрала. В многопотоке, за частую, страницы просто отказываются прогружаться. Почитываю иногда форум, вижу тут кто-то говорит про 250, про 500 потоков. Я просто в осадочке. Как это все работает без ошибок.. Я всего 20 потоков, и все, понеслась - страницы не прогружаются, элементы не прогружаются. Большинство потоков заканчивается ошибкой из-за таймаутов
-
@realmedvedev said in Ожидатель селекторов:
@FastSpace said in Ожидатель селекторов:
интерактив и ожидание кэша
Что за штуки? Первое - это эмуляция ожидания? А второе? Проблема эта задрала. В многопотоке, за частую, страницы просто отказываются прогружаться. Почитываю иногда форум, вижу тут кто-то говорит про 250, про 500 потоков. Я просто в осадочке. Как это все работает без ошибок.. Я всего 20 потоков, и все, понеслась - страницы не прогружаются, элементы не прогружаются. Большинство потоков заканчивается ошибкой из-за таймаутов
Следите за нагруженностью системы, браузер не любит, когда система нагружена на 100%
-
@Fox да у меня хорошая машина, она даже в половину не загружена.
сейчас работает в 10 потоков и всё равно периодически всплывают такие:
net::ERR_CONNECTION_TIMED_OUT
net::ERR_TIMED_OUT
net::ERR_CERT_COMMON_NAME_INVALID
Не удалось получить страницу http://ip.bablosoft.com/?requestid=91983 с помощью ХТТП клиентаОн не то, чтобы не успевает прогрузить страницу. Он отсылает запрос на сайт, а сайт сразу отдаёт серый экран с ошибкой - мол, не удалось загрузить страницу. Скрипт не находит нужный элемент и заканчивается таймаутом. Приходится постоянно делать в скрипте перепроверки - прогрузилась ли страница. В режиме записи всё ок, а вот в многопотоке на постоянной основе эта проблема
-
@realmedvedev said in Ожидатель селекторов:
@Fox да у меня хорошая машина, она даже в половину не загружена.
сейчас работает в 10 потоков и всё равно периодически всплывают такие:
net::ERR_CONNECTION_TIMED_OUT
net::ERR_TIMED_OUT
net::ERR_CERT_COMMON_NAME_INVALID
Не удалось получить страницу http://ip.bablosoft.com/?requestid=91983 с помощью ХТТП клиентаОн не то, чтобы не успевает прогрузить страницу. Он отсылает запрос на сайт, а сайт сразу отдаёт серый экран с ошибкой - мол, не удалось загрузить страницу. Скрипт не находит нужный элемент и заканчивается таймаутом. Приходится постоянно делать в скрипте перепроверки - прогрузилась ли страница. В режиме записи всё ок, а вот в многопотоке на постоянной основе эта проблема
Вы уверены, что ваше сообщение связано с текущей темой?