Атрибуты обработки событий на web странице

вопросы и ответы по использованию PHP
Ответить
Avitus
Сообщения: 4
Зарегистрирован: 02 апр 2021, 22:04

Атрибуты обработки событий на web странице

Сообщение Avitus » 07 апр 2021, 19:51

Всем здравствуйте.

Подскажите пожалуйста есть ли в Human Emulator Studio возможность пользоваться вот такой возможностью "Атрибуты обработки событий"

Т.е. отслеживать события изменения в реальном времени в каком либо элементе на Web странице. Я не нашел в документации к программе доступных вариантов.

Подскажите, возможно ли каким то способом данную функцию добавить чтоб отслеживать элементы на странице и работать с полученными данными с определённым условием. Может какая то библиотечка есть *.dll

Заранее очень благодарен за помощь.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Атрибуты обработки событий на web странице

Сообщение bigfozzy » 07 апр 2021, 21:17

А через JS если ?

https://stackoverflow.com/questions/162 ... javascript

или что-то другое нужно ?

Avitus
Сообщения: 4
Зарегистрирован: 02 апр 2021, 22:04

Re: Атрибуты обработки событий на web странице

Сообщение Avitus » 08 апр 2021, 16:45

Всё верно это то самое. событие "onchange", но это только для JavaScript применимо.

Нужно как то через php это реализовать.
Или переделывать всё на javascript/

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

Код: Выделить всё

$digit9=$browser->run_jquery("document.querySelector('.highcharts-label:nth-child(10) tspan:nth-child(2)').textContent;")") 
а вот дальше не знаю как.

либо через run_java_script но там тоже только одно строчкой всё.

А как вот вставить полноценно блок кода javascript в сам скрипт php в human emulator studio я кроме то что есть для javascriptдаже и не знаю.

обычная вставка не работает по принципу <script type="text/javascript"> блок javascript кода </script>

Подскажите какие варианты есть.

Я понял что может быть вот так сработает:
1)

Код: Выделить всё

$browser->run_jquery("document.querySelector('.highcharts-label:nth-child(10) tspan:nth-child(2)').onchange();");
или вот так:
2)

Код: Выделить всё

$browser->run_java_script("document.querySelector('.highcharts-label:nth-child(10) tspan:nth-child(2)').onchange();");
Отловит ли событие я незнаю?

Думаю есть ещё вариант такой
3)

Код: Выделить всё

$browser->run_java_script("text_tspan.onchange = function(){document.querySelector('.highcharts-label:nth-child(10) tspan:nth-child(2)').onchange();");};
------------------------------------------------------------------------------
Это при условии что код исходный вот такой

<text x="5" style="font-size:11px;font-weight:bold;color:#000000;fill:#000000;" y="16"><tspan x="5" y="16" class="highcharts-text-outline" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="2px" stroke-linejoin="round">8.00%</tspan>
<tspan x="5" y="16">8.00%</tspan></text>

Нужно выловить событие onchange то что выделено жирным синим текстом которые динамически меняются.
_________________________________________________________________________________________
Какие варианты лучше будет применить? Пожалуйста знающие люди подскажите.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Атрибуты обработки событий на web странице

Сообщение bigfozzy » 09 апр 2021, 10:01

Спасибо, на следующей неделе, попробуем что-то сделать

Ответить