Свой java script в кубике С#

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Подскажите как мне выполнить java script в цикле кубика C#?
C#:
for (int i=0; i<table.RowCount; i++){
    //чистим куки
    instance.ClearCookie();
    instance.ClearCache();
    instance.ClearProxy();
    
//    Вот тут надо сделать свой Java script
    
    //ставим проксю
    instance.SetProxy(proxy);
    System.Threading.Thread.Sleep(5000);
    
    //открываем сайт
    instance.ActiveTab.Navigate(web_site,"https://www.google.ru");
}
Может как то через директиву или еще как нидь, не хочется делать в отдельном кубике, т.к. у меня там циклов вложенных несколько штук...
Спасибо
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
instance.ActiveTab.MainDocument.EvaluateScript(@"код Java") - вот так не заводится...
 

rastvl

Client
Команда форума
Регистрация
16.01.2019
Сообщения
656
Благодарностей
1 053
Баллы
93
Аналог кубика JS с параметрами "При создании окна страницы", "Всё время", "Во всех вкладках" будет метод SubscribeWindowCreating - https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic639.html
C#:
instance.ActiveTab.SubscribeWindowCreating("console.log(2+2)", "alltime", "", true);
При таком использовании(да и вообще при любом) JS лучше всего "сжимать", то есть убирать пробелы, переносы, длинные наименования переменных и тд. Если что-то не серьёзное, то подойдёт обычный https://javascript-minifier.com/ , если что-то большое, то google closure compiler . (Только не онлайн версия, та плохо работает с ES6).
Я обычно в таком режиме использую:
Код:
google-closure-compiler -O ADVANCED --js input.js --js_output_file input.min.js --language_out ECMASCRIPT_2019
input.js - файл который преобразовываем, input.min.js - наименования файла, который получится.
Разумеется минификаторы бездумно использовать не нужно; бывают что-нибудь ломают и нужно проверять, а затем играться с параметрами.

Аналогично для JS с параметрами "При загрузке страницы" SubscribePageLoading - https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic638.html
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Аналог кубика JS с параметрами "При создании окна страницы", "Всё время", "Во всех вкладках" будет метод SubscribeWindowCreating - https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic639.html
C#:
instance.ActiveTab.SubscribeWindowCreating("console.log(2+2)", "alltime", "", true);
При таком использовании(да и вообще при любом) JS лучше всего "сжимать", то есть убирать пробелы, переносы, длинные наименования переменных и тд. Если что-то не серьёзное, то подойдёт обычный https://javascript-minifier.com/ , если что-то большое, то google closure compiler . (Только не онлайн версия, та плохо работает с ES6).
Я обычно в таком режиме использую:
Код:
google-closure-compiler -O ADVANCED --js input.js --js_output_file input.min.js --language_out ECMASCRIPT_2019
input.js - файл который преобразовываем, input.min.js - наименования файла, который получится.
Разумеется минификаторы бездумно использовать не нужно; бывают что-нибудь ломают и нужно проверять, а затем играться с параметрами.

Аналогично для JS с параметрами "При загрузке страницы" SubscribePageLoading - https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic638.html
Как всегда, выручил! Спасибо.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 368
Благодарностей
3 293
Баллы
113
// Вот тут надо сделать свой Java script //ставим проксю instance.SetProxy(proxy); System.Threading.Thread.Sleep(5000); //открываем сайт instance.ActiveTab.Navigate(web_site,"https://www.google.ru");
instance.ActiveTab.MainDocument.EvaluateScript(@"код Java") - вот так не заводится...
Проблема в том, что скрипт бы выполнился на пустой странице, а потом бы сбросился при открытии новой.
 
  • Спасибо
Реакции: arbplv

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