Выполнение JS-скрипта на стороне Yandex Browser

okhapkin_vp

New member
Коллеги, здравствуйте!
Решаю задачу, связанную с получением значения из Yandex браузера. В этой задаче главное условие - это именно исполнение JS-кода на стороне Yandex браузера (ни в каком другом браузере; требование ИБ). Драйвер YB можно успешно подсунуть PIX просто добавив веб-драйвер в папку с другими драйверами. Далее вытаскиваем активность "Запустить Selenium", где можно успешно запуститься с YB. Через активность "Выполнить C#" YB виден и, кроме того, имеет метод ExecuteScript(), через который можно успешно кликнуть, например, по пункту меню, ссылке и пр. Однако, этот метод типа void, что говорит нам о том, что ничего этот метод обратно в PIX не вернет и нет никакого смысла в скрипте писать return. Это сильно огорчает. Таким образом, вопрос: как вернуть значение обратно в PIX, используя Yandex браузер и автоматизацию через Selenium?
 
Последнее редактирование:

Yuriy Shlerin

Administrator
Команда форума
Добрый день! Получил ответ на ваш вопрос от коллег из отдела аналитики. Цитирую:

Если только жестко закостылить это дело, добавив на страницу какой либо заголовок(или что угодно) и считать это место через активность. Достать инфу из браузера можно обычными активностями, просто передав путь xpath. Сложность только в том, что все xpath нужно прописывать руками или доставать из инспектора.
 

okhapkin_vp

New member
Добрый день! Получил ответ на ваш вопрос от коллег из отдела аналитики. Цитирую:

Если только жестко закостылить это дело, добавив на страницу какой либо заголовок(или что угодно) и считать это место через активность. Достать инфу из браузера можно обычными активностями, просто передав путь xpath. Сложность только в том, что все xpath нужно прописывать руками или доставать из инспектора.
Здравствуйте!
Спасибо за ответ.
Проблема работы с XPath на портале, на котором выполняется автоматизация, заключена в его постоянной смене. Таким образом, робот часто ломается/останавливается. Частично (!) уйти от этого можно задействовав JS-скрипты на стороне браузера. Но только в том случае, если на стороне PIX/C# поддерживается возврат значения. Например, так как это происходит для интерфейса IJavaScriptExecuter. Вопрос к разработчикам: можно ли для Yandex браузера для метода ExecuteScript() изменить определение void на string?
 

Yuriy Shlerin

Administrator
Команда форума
Добрый день! Ответ из команда аналитики:

По поводу меняющегося xpath, нужна конкретика. Может xpath возможно сделать динамическим или упростить. Зависит от конкретного случая. Ну или вариант, создавать с помощью js отдельный блок на странице, куда уже будет сохранятся нужно значение и уже доставать его web-активностями студии по доступному пути xpath.
 
Верх