Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 7
1

Кто поможет скорректировать iMacros в JS с if else

06.04.2019, 23:08. Показов 1305. Ответов 1

Всем доброе время суток.
Опять столкнулся с проблемкой и требуется помощь. С аймакрос уже немножко разобрался, но требуется Джаваскрипт в котором еще не очень.
Аймакрос работает и делает работу, но попадаются разные варианты и если нет нужной кнопки, в холостую перебирает строчки макроса. И поскольку макрос уже стал довольно длинным, теряется время которого нет. Решил макрос одеть в оболочку Джаваскрипт и прописать условия, но пока не знаю как реализовать. если кто объяснит и поможет, буду очень признателен.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var macro;
var cycl=280;    // что бы при запуске скрипта всплывающее окно в котором можно ввести количество циклов????;
                 // наверное через prompt в переменную а тогда переменную в cycl= (переменная) ???;
for (i=1;i<=cycl;i++){   //создаем переменную i;
macro =  "CODE:";
macro +=  "TAB T=1" + "\n";
macro +=  "TAB CLOSEALLOTHERS" + "\n";
macro +=  "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro +=  "SET !TIMEOUT_PAGE 8" + "\n";
macro +=  "SET !ERRORIGNORE YES" + "\n";
macro +=  "SET !TIMEOUT_TAG 1" + "\n";
macro +=  "SET !TIMEOUT_STEP 2" + "\n";
macro +=  "SET !DATASOURCE_DELIMITER ;" + "\n";
macro +=  "SET !DATASOURCE vypravl_cil.csv" + "\n";
macro +=  "SET !DATASOURCE_COLUMNS 2" + "\n";
macro +=  "SET !LOOP 1" + "\n";
macro +=  "SET !DATASOURCE_LINE {{!LOOP}}" + "\n";
macro +=  "URL GOTO=https://***********" + "\n";
macro +=  "WAIT SECONDS=1" + "\n";
macro +=  "SET !ENCRYPTION NO" + "\n";
macro +=  "TAG POS=1 TYPE=INPUT:BUTTON ATTR=ID:button_add_request" + "\n";
macro +=  "TAG POS=1 TYPE=SELECT FORM=ID:add-request-form ATTR=ID:request CONTENT=%34" + "\n";
iimDisplay('строка   '+ i +'   из '+   cycl) // Дисплей;
macro +=  "WAIT SECONDS=2" + "\n";
                       // .....;
                       // бла-бла-бала...;
                       // ......;
macro +=  "TAG POS=1 TYPE=A ATTR=TXT:Замечания" + "\n";
 
if (условие) {         //и тогда (условие) если "TAG POS=1 TYPE=TD ATTR=TXT:ЕД<SP>ожидает<SP>проверку*" true ;
                       // незнаю как записать,  в переменную???;
macro +=  "REFRESH" + "\n";
macro +=  "WAIT SECONDS=2" + "\n";
macro +=  "REFRESH" + "\n";
                       // и зациклить через (незнаю через while или for) пока условие не станет false;
                       // но не больше например 10 циклов;
}
else if (условие) {         // второе (условие) если "TAG POS=1 TYPE=TD ATTR=TXT:Критическая"  true ;
                            // закончить выполнениее и перейти на следующий цикл целого макроса;
}
else if (условие) {         // третье (условие) если "TAG POS=1 TYPE=TD ATTR=TXT:Не<SP>Критическая" true ;
macro +=  "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form-main ATTR=ID:btn_docs_check" + "\n";
macro +=  "TAG POS=1 TYPE=BUTTON ATTR=TXT:Утвердить" + "\n";
macro +=  "TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:form-main ATTR=ID:makeChanges" + "\n";
macro +=  "TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:form-main ATTR=ID:btn_createCadPlan" + "\n";
macro +=  "TAG POS=1 TYPE=BUTTON ATTR=TXT:Сохранить" + "\n";
macro +=  "TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:form-main ATTR=ID:land-book-sections" + "\n";
macro +=  "WAIT SECONDS=0.5" + "\n";
                           // .....;
                           // бла-бла-бала...;
                           // ......;
                           // и так до завершения и перейти на следующий цикл целого макроса;
}
else {                    //иначе, думаю может быть всякое и что бы макрос не завис где то (если ни одно условие не true);
                          //то закончить выполнениее перейти на следующий цикл целого макроса;
}
}
Нашел в нете как в переменную вписать количество циклов, но не знаю так или по другому.
Javascript
1
2
3
4
5
6
7
8
9
var macro;
function popBox() {
   ex1=prompt("Укажите количество циклов", "");
   confirm('Будет сделано циклов: '+ex1);
}
var cycl=ex1;
for (i=1;i<=cycl;i++){   // создаем переменную i;
macro =  "CODE:";        
// продолжение скрипта...;
Помогите реализовать.

Добавлено через 3 часа 23 минуты
Первую часть решил.
Javascript
1
2
3
4
5
6
7
8
9
10
11
var macro;
function popBox() {
   ex1=prompt("Укажите количество циклов", "");
   confirm('Будет сделано циклов: '+ex1);
}
popBox();
macro =  "CODE:\n";
iimPlay(macro);
var cycl=ex1;
for (i=1;i<=cycl;i++){   // создаем переменную i;
macro =  "CODE:";
Добавлено через 2 часа 8 минут
Попробую так:
Javascript
1
2
3
4
5
6
7
8
9
10
macro +=  "TAG POS=1 TYPE=TD ATTR=TXT:ЕД<SP>ожидает<SP>проверку* EXTRACT=TXT" + "\n";
macro +=  "SET !VAR1 {{!EXTRACT}}" + "\n";
 
if (VAR1==ЕД ожидает проверку...) {     //  если "TAG POS=1 TYPE=TD ATTR=TXT:ЕД<SP>ожидает<SP>проверку*" true ;
macro +=  "REFRESH" + "\n";
macro +=  "WAIT SECONDS=5" + "\n";
macro +=  "REFRESH" + "\n";
macro +=  "TAG POS=1 TYPE=A ATTR=TXT:Замечания" + "\n";
macro +=  "SET !EXTRACT NULL" + "\n";
}
Но не знаю сработает ли переменная VAR1 с аймакроса в скрипте. И как написать условие if, не надо ли
iimPlay(macro);
и т.д.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2019, 23:08
Ответы с готовыми решениями:

Люди, кто шарит в этих системах счисления и прочем, поможет кто?
Люди, кто шарит в этих системах счисления и прочем?

Как это сделать кто знает? кто поможет?)
Задание № 8 Разработать базу данных «Пожарная охрана» Сведения: • Номер пожарного расчета,...

Кто поможет?
Здравствуйте,нужна помощь в решении 3-4х задач по электричеству. Учусь на 1 курсе университета....

Поможет кто?((
1. Жители островов Чунга и Чанга один раз в год на праздник обмениваются драгоценностями. Жители...

1
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 7
07.04.2019, 13:00  [ТС] 2
Че то не так, скрипт работает, но условие не проверяет.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
macro +=  "TAG POS=1 TYPE=A ATTR=TXT:Замечания" + "\n";
macro +=  "TAG POS=1 TYPE=TD ATTR=TXT:ЕД<SP>ожидает<SP>проверку... EXTRACT=TXT" + "\n";
macro +=  "SET !VAR1 {{!EXTRACT}}" + "\n";
macro +=  "SET !VAR1 10" + "\n"; 
macro +=  "ADD !EXTRACT {{!VAR1}}" + "\n"; 
iimPlay(macro);        // что с ними, что без работает одинаково
macro =  "CODE:\n";    // что с ними, что без работает одинаково
       // это не работает
if(iimGetLastExtract(1) == 10){  //  если TAG POS=1 TYPE=TD ATTR=TXT:ЕД<SP>ожидает<SP>проверку* true ; 
macro +=  "REFRESH" + "\n";
macro +=  "WAIT SECONDS=5" + "\n";
macro +=  "REFRESH" + "\n";
macro +=  "TAG POS=1 TYPE=A ATTR=TXT:Замечания" + "\n"; // 
}      // это не работает, сразу условие else
 
else {
macro +=  "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form-main ATTR=ID:btn_docs_check" + "\n";
macro +=  "TAG POS=1 TYPE=BUTTON ATTR=TXT:Затвердити" + "\n";
Просто переходит на else и работает дальше...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2019, 13:00

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Кто поможет с БД
Здравствуйте. Кто можешь помочь с БД, очень нужно... nahlogin7mail.ru мыло или вк id160303474

кто поможет?
нужна прога, редактор dbf, чтобы он из dbf экспортировал txt с разделителем табуляции

кто поможет?
Нужно написать программу, кто может помочь?!

кто поможет
1. При помощи простого текстового редактора создать HTML-страничку. HTML-страничка - О себе...

Кто поможет ???
Как мне организовать динамическую сслылку на своей странице... То есть WWW.DOMEN/динамическая...

Кто поможет?..
Кто поможет научить программировать на Turbo Paskal?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.