Клики с помощью JS path на JavaScript, как получить isTrusted:true действиями Zennoposter. v1.11

prostors

Client
Регистрация
16.12.2020
Сообщения
1 478
Благодарностей
76
Баллы
48
обновление.
хочу затронуть тему относительных(Relative Paths) и абсолютных(Absolute URLs / Absolute paths) путей js path и xpath.
В контексте ловушек - есть предположение, что абсолютные пути всё таки лучше. Что имеем:
  • точный адрес - от начала и до конца, хоть и очень длинный;
  • точные размеры высоты и ширины;
  • точное слово-фразу, если есть внутри последнего тега;
  • точные атрибуты;
  • и тд.
На относительных путях мы имеем:
  • динамический путь, который привязан к последнему элементу и уникальному атрибуту;
  • в случае изменений вёрстки - он скорей всего будет работать, даже учитывая, что изменения могли произойти из-за добавления ловушек ботов(honeypot) в код выше или вместо;
  • возможность подставить предварительно ловушку и тогда действие произойдёт с первым попавшимся элементом, а не с нужным-видимым пользователю;
  • и тд.
Выводы:
если мы говорим о выживаемости при смене вёрстки, но не предполагаем ловушек - относительный путь.
если мы говорим о стабильности без смены вёрстки, и если смена вёрстки была - то это скорей всего поставили ловушку ботов - абсолютный путь.

Друзья!
Желаю вам стабильных вёрсток на проектах и чтобы вы через 5 лет после деплоя открывали проект - а шаблон ZennoPoster работает!
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
2 069
Благодарностей
1 921
Баллы
113
Это выглядит как спам и засорение темы. Если есть реальный продукт — проще показать его в деле и дать людям самим оценить.
Когда начинается поток сообщений без конкретики, ценность обсуждения теряется.
Кто заинтересуется — всё равно сам задаст вопросы ИИ или разберётся.
 

prostors

Client
Регистрация
16.12.2020
Сообщения
1 478
Благодарностей
76
Баллы
48
начинается поток сообщений без конкретики
я ни в коем случае не хочу ограничивать разработчиков в принятии решений. любая конкретика ведёт к единственной точке зрения и не даёт выбора, т.е. окончательное решение может быть в результате моих, конкретных сообщений.

да, я согласен с тем, что можно самому оценить, самому задать вопрос ИИ, разобраться тоже самому.

воспринимайте мой материал как есть, т.е. статус самостоятельной проработки остаётся и вы можете принимать решения окончательные перед деплоем сами, не ссылаясь на мой материал, а используя ещё и другие источники, включая ИИ, интернет, опыт друзей, мнение из чата и тд.

если есть реальный продукт — проще показать его в деле
чтобы показывать реальный продукт - нужно сначала описать теорию, из чего он получился, если дать сразу продукт - получим вопрос - а как ты сделал? и так будет цикл, мы даём продукт - мы получаем вопросы - снова продукт - снова вопросы

Друзья!
Очень часты случаи, когда мы зацикливаем наши действия в PM намерено. Желаю Вам мощных процессоров, которые выдержат любые зацикливания в многопотоке или работая параллельно и в процессе смогут давать результат!
 

prostors

Client
Регистрация
16.12.2020
Сообщения
1 478
Благодарностей
76
Баллы
48
обновление.

по просьбам
прикрепляю шаблон, по которому можно получить абсолютный путь js path с экранированием спецсимволов.
заметьте, что в контекстном меню devtools только относительный путь. мы его вставляем в переменную targetElement в первом js действии в шапке.
в шаблоне пример для сайта reddit клик по кнопке Войти или Log In:
141463

после получения абсолютного пути - кликаем по нему, с помощью click()

версия 7.8.15
 

Вложения

prostors

Client
Регистрация
16.12.2020
Сообщения
1 478
Благодарностей
76
Баллы
48
Друзья!
Задавайте вопросы по статье, но постарайтесь воздержаться от негатива.
Да, вы можете задать вопрос, который сформирован ИИ, но в тему этой конкурсной работы.
Спасибо за понимание.
 

Divisor

Client
Регистрация
26.02.2024
Сообщения
41
Благодарностей
52
Баллы
18
Да, вы можете задать вопрос, который сформирован ИИ, но в тему этой конкурсной работы.
Зачем все это? Ну, видим, что у движок перестал быть флагманом в браузерной автоматизации. Зачем догонять поезд, если уже летают со сверх-звуком?
Вижу, что все посты на конкурс, включая мой - это указание на ошибки и то, то через раз всплывает xpath, - просто сигнал разработчикам.
P.S. Для конкурса было объявлена тема "AI-автоматизация", что потерялось в контексте и небольшом выборе того, что представили на этот конкурс.
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
2 069
Благодарностей
1 921
Баллы
113
P.S. Для конкурса было объявлена тема "AI-автоматизация", что потерялось в контексте и небольшом выборе того, что представили на этот конкурс.
Он ждет когда админ постучит в лс, и скажет: ай-яй-яй так делать нелья! Тогда и перестанет спамить ИИ-шкой.
 
  • Спасибо
Реакции: Dmitriy_Zenno и seodamage

Divisor

Client
Регистрация
26.02.2024
Сообщения
41
Благодарностей
52
Баллы
18
Звучит, как И.П. Павлов:
да, я согласен с тем, что можно самому оценить, самому задать вопрос ИИ, разобраться тоже самому
эмм.... дядя @prostors , дай LLM хоть-чуть контекста, иначе она так и будет здесь философию разводить... скоро начнет петь: "То-о-о-олька, румка водка..." :-)
 
Последнее редактирование:

prostors

Client
Регистрация
16.12.2020
Сообщения
1 478
Благодарностей
76
Баллы
48
Мониторинг Shadow DOM
Работая с Shadow DOM, стандартный querySelector может не «видеть» элементы внутри shadowRoot. Если вам нужно логировать обращения и внутри Shadow DOM, вам придется рекурсивно навесить хуки на все найденные shadowRoot в дереве.

Мониторинг Shadow DOM - логирование:
function hookShadowRoots(node) {
    const walker = document.createTreeWalker(node, NodeFilter.SHOW_ELEMENT, null, false);
    while(walker.nextNode()) {
        if (walker.currentNode.shadowRoot) {
            // Подменяем querySelector внутри shadowRoot
            const root = walker.currentNode.shadowRoot;
            const originalQuery = root.querySelector;
            root.querySelector = function(selector) {
                console.log(`[Shadow DOM Access] Selector: ${selector}`);
                return originalQuery.apply(this, arguments);
            };
        }
    }
}
hookShadowRoots(document.body);
не тестировал, используйте, все проблемы и баги решая с помощью ИИ
 

prostors

Client
Регистрация
16.12.2020
Сообщения
1 478
Благодарностей
76
Баллы
48
прикрепляю шаблон с примером, где слушатель isTrusted получает false после клика, клик сделан методом dispatchEvent на JS
 

Вложения

Последнее редактирование:

Кто просматривает тему: (Всего: 2, Пользователи: 1, Гости: 1)