Выполнение Javascript на элементе

NickZennoPr

Client
Регистрация
14.02.2023
Сообщения
24
Благодарностей
1
Баллы
3
Здравствуйте! Мне необходимо применить JS код на конкретном элементе страницы, сделать сабмит (на скрине).
Но в настройках программы нашёл только "Свой код - Javascript", но там только применение ко всей странице, а мне нужно именно только на 1 элементе.
Скажите, как это реализовать?

Правда, ещё есть пункт применить JS локально - это к элементу? Если да, то как сделать?
103352
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113

NickZennoPr

Client
Регистрация
14.02.2023
Сообщения
24
Благодарностей
1
Баллы
3
а мышкой кликнуть что мешает ?
Это как? Типа выполнить свой JS код локально, а потом с помощью действия Rise - Click кликнуть на этот элемент, к которому должен примениться JS код? Так не работает. В лог выдаёт: "Выполнение JavaScript Результат: ", то есть ничего не происходит
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113

viol2021

Client
Регистрация
12.01.2021
Сообщения
481
Благодарностей
179
Баллы
43
А, зачем js. Просто нажать нельзя?
 

NickZennoPr

Client
Регистрация
14.02.2023
Сообщения
24
Благодарностей
1
Баллы
3
JS просто выполняется на всей странице. у него нет фокуса.
Я просто по аналогии с другим софтом делал.
Там, допустим, есть действие "Выполнить Javascript на элементе", то есть именно к нему и применялся код, а не ко всей странице, и код исправно работал. А в ProjectMaker такого не нашёл.
Если применить JS код к текущей странице, выдаёт ошибку: "Выполнение действия JavaScript OwnCode EvaluateScriptAsync: Uncaught SyntaxError: Invalid or unexpected token", хотя токен верен.
 
Последнее редактирование:

NickZennoPr

Client
Регистрация
14.02.2023
Сообщения
24
Благодарностей
1
Баллы
3
А, зачем js. Просто нажать нельзя?
Это сабмит callback функции, она выполняется только с помощью JS кода на определённом элементе. Элемент я нашёл, функция есть. А вот как применить это - без понятия.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113
Я просто по аналогии с другим софтом делал.
Там, допустим, есть действие "Выполнить Javascript на элементе", то есть именно к нему и применлся код, а не ко всей странице, и код исправно работал. А в ProjectMaker такого не нашёл.
Если применить JS код к текущей странице, выдаёт ошибку: "Выполнение действия JavaScript OwnCode EvaluateScriptAsync: Uncaught SyntaxError: Invalid or unexpected token", хотя токен верен.
В JS вам придётся самостоятельно получить целевой элемент, вот пример получения элемента по XPath и вызова на нём события нажатия (другого нет под рукой):
JavaScript:
'use strict';

let xPathTarget = document.evaluate(`id('test')`, document.documentElement, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);

let e = new KeyboardEvent( // e.isTrusted = false
    'keypress',
    {
        code: 'KeyQ',
        //charCode: 'Q',
        bubbles: true,
        cancelable: true,
        key: 'q',
        char: 'q',
        keyCode: '81',
        which: '81',
        shiftKey: false,
        altKey: false,
        ctrlKey: false,
        metaKey: false,
        repeat: false,
    }
);

/* let m = new MouseEvent(
    'keypress',
    {
        button: 0, // 0 - left, 1 - middle, 2 - right
        buttons: 0, // 0 - No buttons pressed, 1 - left, 2 - right, 4 - middle
    }
) */

xPathTarget.singleNodeValue.dispatchEvent(e);
xPathTarget.singleNodeValue.click();
 
Последнее редактирование:

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