Я искал всю информацию, но не смог найти решение этой проблемы.iMacros + Javascript - Как обновить таймаут страницы?
У меня есть iMacros .js, который проходит через файл .CSV со следующей структурой (URL, значение) и: 1. Посещает URL-адрес. 2. Вводит конкретное значение в поле.
Промыть. Повторение.
Однако, даже если значение TIMEOUT установлено на max, все еще есть случаи, когда страница не загружается. Я мог бы установить ERRORIGNORE в YES, но потом я пропустил бы несколько страниц в списке, и я не знал бы об этом.
Как таковой, я ищу для кода, который позволит мне запустить мой макрос, и в случае, если страница не работает, обновляет его и снова запускает макрос, не пропуская строку в CSV.
Вот как выглядит мой .js:
for (i = 1; i <= count_of_lines; i++) { //The amount of times the Macro will loop should be defined here.
iimSet("i", i) //Set "i" so it is able to extract the nest row from the .csv file
var Macro;
Insert_Rating = "CODE:" //Need to use code here so that iMacros knows that the code will start
Macro += "TAB T=1" + "\n";
Macro += "CMDLINE !DATASOURCE FILENAME.csv" + "\n";
Macro += "SET !DATASOURCE_LINE {{i}}" + "\n";
Macro += "SET !TIMEOUT_PAGE 120" + "\n";
Macro += "URL GOTO=URL{{!COL1}}" + "\n";
Macro += "WAIT SECONDS=1" + "\n";
Macro += "TAG POS={{!COL2}} TYPE=A ATTR=TXT:" + "\n";
}
iimPlay(Macro);
Я также попытался с
var ret = iimPlay(Macro)
if (ret<0) {
iimPlay("CODE:REFRESH");
} else {
iimPlay(Macro);
}
Но то, что происходит здесь в том, что код будет проверять один раз (при старте, если), а затем попытайтесь выполнить весь CSV, если начальное условие истинно.
Мне нужен способ проверить каждую строку CSV, если время ожидания страницы.
Возможно, это простое решение, но мои навыки кодирования чрезвычайно просты.
Заранее благодарю вас за вашу помощь.
Эй, там, firmanelhakim, большое спасибо за то, что нашли время, чтобы ответить на мой вопрос. Я пробовал код, который вы предлагали, но, к сожалению, я думаю, что условие в выражении if никогда не выполняется, и как таковой код просто продолжает обновлять страницу. Я проверил содержимое содержимого с помощью: \t \t window.alert (iimGetLastExtract(). Trim(). Length); Даже после того, как он немного изменился, он последовательно возвращается как 0. Итак, моя мысль состоит в том, что команда extract на самом деле не происходит (вы действительно просто добавляете эту строку в макроперемену), поэтому условие всегда ложный –