@kolik76 https://community.bablosoft.com/topic/21435/phash-модуль-для-получения-перцептуального-хэша/10#
Есть ли возможность запросить у пользователя ответ Да или Нет?
-
@senerg said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Действие срабатывает на исходной странице, а не на той на которую переходим. Например, вы парсите в цикле с полностью одинаковых страниц разный текст одного и того же элемента. Соответственно разные элементы в действии ожидания указать невозможно. Поэтому ожидание срабатывает на текущей странице и переходит на следующую без ожидания.
Кто мешает проверить изменение URI?
Я сам с браузером не люблю работать и постоянно чертыхаюсь с ним, но по моему опыту все ошибки и проблемы следствие плохо продуманной логики создателя скрипта, кривых селекторов и т.п., а не проблемы БАС. Браузерный скрипты требуют долгой отладки и грамотной обработки ошибок. Например у меня есть гулялка по сайтам через яндекс, она гуляет по сайтам, переходит по ссылкам и при этом ошибок почти не бывает, но так было не сразу, пришлось изрядно поломать голову фикся баги - мои баги ))) Думаю это лучший тест драйв для БАС ))
-
@usertrue said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Кто мешает проверить изменение URI?
Это придется цикл с ожиданием запускать. А если действий много, то на каждое по циклу. Да и url не всегда меняется после клика.
На запросах безусловно лучше, но вряд ли найдется много людей способных через хттп клиент зайти в гугл аккаунт и ставить лайки, дизлайки, комменты...
-
@senerg said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Это придется цикл с ожиданием запускать. А если действий много, то на каждое по циклу. Да и url не всегда меняется после клика.
Для того чтобы не дублировать код и существуют функции.Если урл не меняется, значит сайт делал ajax запрос, что также можно проверить. БАС за Вас логику не придумает и скрипт не напишет, БАС это просто набор инструментов, каждый из которых в отдельности работает правильно. А остальное Ваша задача.
На запросах безусловно лучше, но вряд ли найдется много людей способных через хттп клиент зайти в гугл аккаунт и ставить лайки, дизлайки, комменты...
Я делал скрипт для того же ютуба на браузере, и мне также удалось добиться стабильной работы.
-
@usertrue said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Для того чтобы не дублировать код и существуют функции
Есть, только им значение передать нельзя. Поэтому частенько приходится и функции копировать.
@usertrue said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Я делал скрипт для того же ютуба на браузере, и мне также удалось добиться стабильной работы.
Добиться можно, но выглядит это совсем не так, как в обучающих видео где один клик, второй клик и готово. На самом деле после каждого действия приходится целую функцию не проверку изобретать.
А в клиенте такая задача даже вам если и поддастся, то вряд ли с продолжительным стабильным результатом. -
@senerg said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Я предоставил все данные, других нет.
Изначально этих данных небыло в вашем сообщении

Они появились спустя 7 часов

И думаю, что ваше предположение как раз верное. У меня тоже на "недозагруженном" сайте идеально работает "эмуляция бездействия" примерно в 299 случаях из 300.
BAS это программа, если ошибка именно в нём, то её можно повторить при одинаковых входных условиях.
@senerg said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Действие срабатывает на исходной странице, а не на той на которую переходим. Например, вы парсите в цикле с полностью одинаковых страниц разный текст одного и того же элемента. Соответственно разные элементы в действии ожидания указать невозможно. Поэтому ожидание срабатывает на текущей странице и переходит на следующую без ожидания.
Я вам уже показывал способ выполнить ожидание элемента, когда найти его проблематично. Но я лично ни разу не сталкивался с ситуацией, когда нет ни одного нового элемента на странице, даже если это одна и та же страница с разной пагинацией.
Загружаем сайт, ждем элемент, двигаем мышь и кликаем по нему. Но т.к. сайт еще продолжает загружаться в сам момент клика элемент смещается и клик происходит мимо))) Или же в сам момент клика на долю секунды пропадает все загруженное с экрана (остается только белый экран) и через эту долю секунды все загруженное появляется снова. При чем это не косяк BAS, такое же поведение несколько раз наблюдал сам в обычном браузере.
Интересно, ни разу не сталкивался. Можете скинуть сайты и тестовые скрипты для обоих этих случаев?
по хорошему к каждому браузерному действию баса нужно прилагать еще и список случаев в которых это действие может не сработать.
А смысл? Описывать всевозможные ситуации бессмыслено, появятся новые. У каждого языка есть уйма не очевидных особенностей, вот для js например.
Да и описание действий всё равно ни кто не читает, в этом я на форуме каждый день убеждаюсь. Я уже молчу про текстовый мануал и обучающие видео. Даже поиском ни кто не пользуется. -
@fox said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Они появились спустя 7 часов
Я как прочитал ваш ответ, пошел читать какие же такие данные надо указать. Разве версия винды и баса как-то повлияла, по-моему абсолютно бесполезная информация? Если не указано, я бы по-умолчанию считал что все ПО самое обновленное.
@fox said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
BAS это программа, если ошибка именно в нём, то её можно повторить при одинаковых входных условиях.
Повторить можно не все. Одна и та же страница всегда загружается с разной скоростью. И сайт может глючить по-разному.
@fox said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Я вам уже показывал способ выполнить ожидание элемента, когда найти его проблематично
Не хочу в бан попасть, поэтому стараюсь делать скрипт максимально человекоподобным.
@fox said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
Интересно, ни разу не сталкивался. Можете скинуть сайты
Сайт pinterest.com. Сайт медленный, он и в обычном браузере еле ворочается. Сам скрипт скинуть не могу, он большой: пинит, репинит, фолловит, анфолловит, эмитирует бурную деятельность. Все рандомизировано и происходит по разным сценариям, поэтому в ряде случаев найти уникальный элемент на странице, которого должно не быть на предыдущей странице очень и очень не просто. Все подвязано на гугл скрипт, которого там на тысячу строк с тремя десятками функций.
@fox said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
и тестовые скрипты для обоих этих случаев?
Не знаю как понятнее объяснить... Я ни один из этих случаев целенаправленно сам повторить не смогу. Те ошибки, которые было возможно повторить я уже повторил и исправил, добавив там разные проверки. Вот пример с сегодняшней эмуляцией бездействия: это действие у меня отработало без единой ошибки последний месяц, т.е. раз, наверное под тысячу. А сегодня раз, и накрылось. И как мне это повторить? Ситуацию с пропаданием всего с экрана на долю секунды я видел один или два раза за все время, а я там давно сижу.
У меня нет претензий к BAS'у. Обвинять разработчика в том, что он не смог предусмотреть все возможные ошибки на всех сайтах в мире глупо. Думаю это всем понятно. Но от этого понимания ошибок меньше к сожалению не становится.
-
@yumilen Он уже нашёл эту информацию:

@senerg said in Есть ли возможность запросить у пользователя ответ Да или Нет?:
@bigorat , спасибо. Ах он хитрый лис!
Только вот при выскакивании этого окна бас грузит систему сразу на 30% и не отпускает пока не нажмешь на кнопку.
Плюс этот вариант абсолютно не настраиваемый: нельзя даже текстовое поле добавить, максимум, что возможно - это третья кнопка с помощью vbAbortRetryIgnore.Вы исправили своё сообщение и я не увидел исправление (в новых сообщениях пусто). И не увидел бы, если бы @yumilen не написал вам ответ. В следующий раз лучше создайте дополнительный пост, чтобы его не пропустили.