@xclsv said in "вызов функции":
@skif
Вам ничего не мешает использовать обособленные переменные внутри функции и присваивать им значение перед использованием функции.
Было бы хорошо, если бы вы показали шаблон такого вызова функции
Привет разработчикам.
Предыстория: Допустим, нам необходимо сделать "проверку кнопки Follow" . Какие варианты есть сейчас?
1)Проверить наличие сообщества в разделе "отслеживаемое" через профиль. Очень долгий вариант т.к. нужно узнать название сообщества/канала, зайти в профиль, открыть подписки и тд..
2)Через логику проверить существование элемента. Здесь тоже проблемы. На части ресурсов, кнопка фоллоу не пропадает, следовательно она существует всегда и чаще всего, она имеет одно и тоже название, один и тот же размер, либо одну и туже иконку и лишь меняет цвет. Отсюда третий вариант.
3) Проверить кнопку по цвету. Варианты нахождения цвета таковы - либо грузить год элемента и в css искать колор, либо делать скриншот и через скриншот определять цвет пикселя. Данные функции хорошо работают, но слишком много действий, а как известно, чем больше действий - тем сложнее оптимизировать скрипт и тем сильнее грузится система...
А теперь суть вопроса и предложения: есть возможность сделать функцию "Получение цвета элемента через пипетку"? То есть в меню быстрых действий помимо все возможных движений мыши, кликов , прокруток и тд, добавить пипетку, которая сразу будет делать одним действием скриншот выбранного элемента и в переменную сохранять код цвета, чтоб дальше только бери код цвета из переменной и делай сравнение?
@rebootsolo said in Получение цвета элемента через "пипетку":
Привет разработчикам.
Предыстория: Допустим, нам необходимо сделать "проверку кнопки Follow" . Какие варианты есть сейчас?
1)Проверить наличие сообщества в разделе "отслеживаемое" через профиль. Очень долгий вариант т.к. нужно узнать название сообщества/канала, зайти в профиль, открыть подписки и тд..
2)Через логику проверить существование элемента. Здесь тоже проблемы. На части ресурсов, кнопка фоллоу не пропадает, следовательно она существует всегда и чаще всего, она имеет одно и тоже название, один и тот же размер, либо одну и туже иконку и лишь меняет цвет. Отсюда третий вариант.
3) Проверить кнопку по цвету. Варианты нахождения цвета таковы - либо грузить год элемента и в css искать колор, либо делать скриншот и через скриншот определять цвет пикселя. Данные функции хорошо работают, но слишком много действий, а как известно, чем больше действий - тем сложнее оптимизировать скрипт и тем сильнее грузится система...
А теперь суть вопроса и предложения: есть возможность сделать функцию "Получение цвета элемента через пипетку"? То есть в меню быстрых действий помимо все возможных движений мыши, кликов , прокруток и тд, добавить пипетку, которая сразу будет делать одним действием скриншот выбранного элемента и в переменную сохранять код цвета, чтоб дальше только бери код цвета из переменной и делай сравнение?

@rebootsolo said in Получение цвета элемента через "пипетку":
Через логику проверить существование элемента. Здесь тоже проблемы. На части ресурсов, кнопка фоллоу не пропадает, следовательно она существует всегда и чаще всего, она имеет одно и тоже название, один и тот же размер, либо одну и туже иконку и лишь меняет цвет.
Подобное часто можно проверить через атрибут элемента.
@Fox said in Получение цвета элемента через "пипетку":
@rebootsolo said in Получение цвета элемента через "пипетку":
Привет разработчикам.
Предыстория: Допустим, нам необходимо сделать "проверку кнопки Follow" . Какие варианты есть сейчас?
1)Проверить наличие сообщества в разделе "отслеживаемое" через профиль. Очень долгий вариант т.к. нужно узнать название сообщества/канала, зайти в профиль, открыть подписки и тд..
2)Через логику проверить существование элемента. Здесь тоже проблемы. На части ресурсов, кнопка фоллоу не пропадает, следовательно она существует всегда и чаще всего, она имеет одно и тоже название, один и тот же размер, либо одну и туже иконку и лишь меняет цвет. Отсюда третий вариант.
3) Проверить кнопку по цвету. Варианты нахождения цвета таковы - либо грузить год элемента и в css искать колор, либо делать скриншот и через скриншот определять цвет пикселя. Данные функции хорошо работают, но слишком много действий, а как известно, чем больше действий - тем сложнее оптимизировать скрипт и тем сильнее грузится система...
А теперь суть вопроса и предложения: есть возможность сделать функцию "Получение цвета элемента через пипетку"? То есть в меню быстрых действий помимо все возможных движений мыши, кликов , прокруток и тд, добавить пипетку, которая сразу будет делать одним действием скриншот выбранного элемента и в переменную сохранять код цвета, чтоб дальше только бери код цвета из переменной и делай сравнение?
да, это понятно, но если элемент существует всегда? всегда присутствует и всегда в одном месте с одинаковым названием, а по клику на элемент осуществляется js, который просто отправляет команду, например он отправляет команду "click" и уже на стороне сервера происходит обработка условий . Например, мы не зафолловлены и яваскрипт проверяя параметр user_follow подписывает нас на сообщества, присваивая значение тому-же user_follow=1 и меняет цвет кнопки. А если мы уже подписаны, то он проверяет значение переменной и если там "1", то он нас отписывает и снова меняет цвет кнопки. Все эти действия происходят на стороне сервера. А сайт собой представляет обычный воркер для рендера кода страницы
@spacerange said in Получение цвета элемента через "пипетку":
@rebootsolo said in Получение цвета элемента через "пипетку":
Через логику проверить существование элемента. Здесь тоже проблемы. На части ресурсов, кнопка фоллоу не пропадает, следовательно она существует всегда и чаще всего, она имеет одно и тоже название, один и тот же размер, либо одну и туже иконку и лишь меняет цвет.
Подобное часто можно проверить через атрибут элемента.
Допустим, ты получил атрибуты (имя, дивы, классы и тд) , но что если из этого ничего не меняется, пока ты не нажмешь на кнопку? И что делать? кликать на нее? Как минимум придется кликнуть несколько раз в случае, если ты подписан изначально т.к. при клике ты отпишешься (в предыдущем ответе указал пример работы сайта) и придется кликать еще раз если задача стоит именно "подписаться". Также и в обратную сторону, если задача "отписаться", а мы и так не подписаны, то придется кликнуть, получить атрибуты , понять, что мы сделали не верное действие и повторить клик еще раз... А если на сайте стоит детект на подозрительную активность, то это фрод т.к. придётся решать капчу. Да, капчу можно автоматически, но нахера тратить строки скрипта + деньги на капчу , если можно использовать "пипетку" для определения цвета и никуда не щелкать?
@super84 said in Получение цвета элемента через "пипетку":
А там после Нажатия по Подписке не чего не появляется ещё, колокольчика например, подписка на уведомления мол.
Чего нету пока не Клинешь мол :)
к сожалению нет. Да если б и писалось, ситуацию не исправило бы...пришлось бы все равно кликать на кнопку несколько раз. Выше написан ответ, что есть детект действий и кликать не желательно. Суть моего вопроса не в том, что у меня данная проблема, а в том, что это пример, который я привел , как вариант использования данной функции... т.к. пару дней назад дописал скрипт как раз-таки с похожей проблемой. Этот пост сделан как запрос на введение функции пипетки
@rebootsolo said in Получение цвета элемента через "пипетку":
предложения: есть возможность сделать функцию "Получение цвета элемента через пипетку"? То есть в меню быстрых действий помимо все возможных движений мыши, кликов , прокруток и тд, добавить пипетку, которая сразу будет делать одним действием скриншот выбранного элемента и в переменную сохранять код цвета, чтоб дальше только бери код цвета из переменной и делай сравнение?
У вас просто не хватает опыта по работе с BAS, потому и возникают такие вопросы.
Практика поможет понять что все что написано выше, решается после 5-6 первых проектов на раз два.
@rebootsolo said in Получение цвета элемента через "пипетку":
ь, ситуацию не исправило бы...пришлось бы все равно кликать на кнопку несколько раз. Выше написан ответ, что есть детект действий и кликать не желательно. Суть моего вопроса не в том, что у меня данная проблема, а в том, что это пример, который я привел , как вариант использования данной функции... т.к. пару дней назад дописал скрипт как раз-таки с похожей проблемой. Этот пост сделан как запрос на введение функции пипетки
Конкретный сайт приведите где ничего не меняется в стилях, кнопки и невозможно через исходный код проверить цвет. Где в BAS кроме как по вашему пипеткой проблему не решить...
ФБ, твиттер, вк, ок, все отлично отслеживается есть подписка или нет.
@Dodok said in Получение цвета элемента через "пипетку":
@rebootsolo said in Получение цвета элемента через "пипетку":
ь, ситуацию не исправило бы...пришлось бы все равно кликать на кнопку несколько раз. Выше написан ответ, что есть детект действий и кликать не желательно. Суть моего вопроса не в том, что у меня данная проблема, а в том, что это пример, который я привел , как вариант использования данной функции... т.к. пару дней назад дописал скрипт как раз-таки с похожей проблемой. Этот пост сделан как запрос на введение функции пипетки
Конкретный сайт приведите где ничего не меняется в стилях, кнопки и невозможно через исходный код проверить цвет. Где в BAS кроме как по вашему пипеткой проблему не решить...
ФБ, твиттер, вк, ок, все отлично отслеживается есть подписка или нет.
вк приводить в пример работа способности...понятненько... с радостью бы скинул ссылку на один китайский борд , где реализовано все так, но увы и ах, лучше его не светить.... К тому же, повторюсь ЭТА СИТУАЦИЯ ПРИВЕДЕНА В ПРИМЕР, ПРОБЛЕМЫ С РЕШЕНИЕМ НЕТ, НО МОЖНО УПРОСТИТЬ РЕШЕНИЕ ДАННЫХ ЗАДАЧ ЧЕРЕЗ ПИПЕТКУ. ВАМ ДОП ФУНКЦИЮ ПРЕДЛАГАЮТ, А ВЫ СРАЗУ ПЫТАЕТЕСЬ РЕШИТЬ ЕЕ И ЧТО-ТО ТАМ ПРО ОПЫТ ГОВОРИТЕ...
@rebootsolo said in Получение цвета элемента через "пипетку":
ЭТА СИТУАЦИЯ ПРИВЕДЕНА В ПРИМЕР, ПРОБЛЕМЫ С РЕШЕНИЕМ НЕТ, НО МОЖНО УПРОСТИТЬ РЕШЕНИЕ ДАННЫХ ЗАДАЧ ЧЕРЕЗ ПИПЕТКУ. ВАМ ДОП ФУНКЦИЮ ПРЕДЛАГАЮТ, А ВЫ СРАЗУ ПЫТАЕТЕСЬ РЕШИТЬ ЕЕ
Капсом делу не поможешь. Ваша тема правил не нарушает и имеет право быть, остальные пользователи лишь высказали своё мнение на счёт этого нововведения.
В любом случае, хорошо это или плохо, но разработчик в эту тему не заходит, у него личное видение проекта и он сам решает что и в каком виде нужно разработать и добавить в BAS.
@Fox said in Получение цвета элемента через "пипетку":
@rebootsolo said in Получение цвета элемента через "пипетку":
ЭТА СИТУАЦИЯ ПРИВЕДЕНА В ПРИМЕР, ПРОБЛЕМЫ С РЕШЕНИЕМ НЕТ, НО МОЖНО УПРОСТИТЬ РЕШЕНИЕ ДАННЫХ ЗАДАЧ ЧЕРЕЗ ПИПЕТКУ. ВАМ ДОП ФУНКЦИЮ ПРЕДЛАГАЮТ, А ВЫ СРАЗУ ПЫТАЕТЕСЬ РЕШИТЬ ЕЕ
Капсом делу не поможешь. Ваша тема правил не нарушает и имеет право быть, остальные пользователи лишь высказали своё мнение на счёт этого нововведения.
В любом случае, хорошо это или плохо, но разработчик в эту тему не заходит, у него личное видение проекта и он сам решает что и в каком виде нужно разработать и добавить в BAS.
да понятно что свое видение..будем надеяться..
@rebootsolo said in Получение цвета элемента через "пипетку":
да, это понятно, но если элемент существует всегда? всегда присутствует и всегда в одном месте с одинаковым названием, а по клику на элемент осуществляется js, который просто отправляет команду, например он отправляет команду "click" и уже на стороне сервера происходит обработка условий .
Тогда и пипетка вам не поможет, в любом случае нужно будет сделать клик и только после этого проверять как выглядит кнопка. Вам предложили функцию "Поиск по картинке" она как раз и будет искать элемент на экране без привязки к селекторам.
Сама идея не плохая, вот только не ясно для чего она может пригодиться. Практически всегда изменения на сайте отображаются в коде и более производительный путь работать с ним. А если изменения в коде скрыты можно найти элемент через поиск по картинке. А пипетка как будет работать, сначала нужно найти элемент и потом определять его цвет? Точно так же можно поставить ждать элемент и включить поиск по картинке, будет тоже самое. Разве что может определять цвет будет меньше потреблять ресурсов, но что если кнопка залита не одним цветом, а градиентом или на ней картинка. От дублирующих функций тоже мало хорошего, только захламление интерфейса.