@olegar said in вопрос по js:
js скрипт можно выполнять в 4х местах:
1.яваскрипт
2.выполнить при каждой загрузки
3.выполнить код
4. встроенные языки
доступ к document есть только в п.1, но проблема втом, что в п.1 вернуть можно только строку.
Как можно выполнить js скрипт, что бы был доступ к document, и при этом получить в переменную объект? Желательно без конвертации в json а потом обратно
Можно конечно вернуть явное значение переменной из действия "Яваскрипт" в действии "Выполнить код"
page().script("foo(); " + foo.toString())!
[[SAVED_SCRIPT_RESULT]] = JSON.parse(_result());
function foo(){
// Any code
return JSON.stringify(outResult);
}
https://community.bablosoft.com/topic/5623/как-выполнить-в-контексте-браузера-код-и-сохранить-его-вывод/8
Но принципиально этот способ ни чем не отличается от озвученного выше с передачей данных через json строку. Также данный метод будет возвращать только простые данные, на html элементах работать не будет.