С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 47

Измерение времени загрузки страницы после авторизации

01.07.2015, 11:22. Показов 1246. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня есть батник, который проходит авторизацию на сайте http://student.mitso.by. Скажите, пожалуйста, как можно измерить время загрузки страницы после авторизации http://student.mitso.by/login_stud.php (с профилем пользователя) и записать это время в лог-файл time.log.

Garry Galler из темки по Batch (CMD/BAT) помог мне создать такой батник. Но у меня время загрузки страницы в файл не записывается

Windows Batch file
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
@set @script=0 /*
@echo off
set @script=
@cscript /nologo /e:jscript "%~dpnx0"
pause
@exit /b
*/
 
var url,login,password,filepath;
url      = "http://student.mitso.by";
// заменить на свои учетные данные
login    = "1900";
password = "1900";
filepath = "time.log";
 
var IE = WScript.CreateObject("InternetExplorer.Application","IE_");
IE.visible = 1;
IE.navigate(url); 
 
while (IE.Busy) {
  WScript.Sleep(200);
}
 
IE.document.getElementsByName("login")(0).value = login;
IE.document.getElementsByName("password")(0).value = password;
button = IE.document.getElementsByClassName('orangebutton')(0);
button.focus();
button.click();
 
// стартуем измерение 
var start = new Date();
var s = "";
s += start.getDate();
s += start.getMonth()+1;
s += start.getFullYear()+" ";
s += start.toLocaleTimeString();
 
// цикл для поддержания работы скрипта
while (1) {
    WScript.Sleep(100);
}
 
//NavigateComplete2 - альтернатива  DocumentComplete
// ждем события DocumentComplete
var event;
 
function IE_DocumentComplete() {
  event=!event;
  //==========================================
  WScript.Echo("event:" + event);
  WScript.Echo(IE.locationURL);
  // чтобы не срабатывало на загрузку первого документа - ставим проверку по url
  //if (IE.locationURL=="http://student.mitso.by/login_stud.php") {
  // или делаем проверку на повторный вызов посредством инвертации значения переменной
  if (!event) { 
  // заканчиваем измерение 
  var elapsed = new Date() - start;
  // начало перехвата ошибок
  try{
    // запись результата в файл через объект FSO
    var FSO = WScript.CreateObject("Scripting.FileSystemObject");
    var file = FSO.OpenTextFile(filepath, 8, 1)  // файл открывается для дозаписи в конец
    file.WriteLine("Страница загружена за " + elapsed/1000 + " сек.---"+s);
    WScript.Echo("Страница загружена за " + elapsed/1000 + " сек.---"+s);
   }
  catch(e) {
    if (e!=0){
    msg="Ошибка\n" + "Код: " + e.number +"\nОписание: " + e.description;
    WScript.Echo (msg);
           }
  } finally {
       if (file) {file.Close();WScript.Echo("Файл " + FSO.GetFile(filepath).Path + " закрыт.")}
       WScript.Quit(); // завершаем скрипт 
  } // конец перехвата ошибок
//==========================================
  }
}  // =>IE_DocumentComplete
 
 
function IE_OnQuit() {
  WScript.Quit();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.07.2015, 11:22
Ответы с готовыми решениями:

Перезагрузка отдельной картинки страницы, после загрузки страницы
Возникла необходимость перезагрузки отдельной картинки страницы после вывода страницы браузером. Проблема в том, что картинка генится на...

Сортировка сразу после загрузки страницы.
Есть скрипт сортировки таблиц все отлично работает, но сортирует только по нажатию на ссылку, как сделать чтоб сортировал сразу после...

Переход к якорю после загрузки страницы
В процессе генерации страницы динамически формируются, например, <a name='a123'>....</a> в конце страницы выполняется ...

8
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
01.07.2015, 13:11
anastasia_b, а что именно не записывается?
вообще ничего или какая-то фигня всё таки появляется
0
1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 47
01.07.2015, 14:00  [ТС]
BANO, знаете, я недавно перезагружала компьютер, и после вашего вопроса запустила батник, чтобы еще раз перепроверить. И у меня в файл записалось:
Страница загружена за 2.144 сек.---172015 13:54:18

Но потом запускаю, и ничего не записывается. Подскажите, пожалуйста, в чем может быть проблема? Почему записывает только один раз?
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
01.07.2015, 15:39
anastasia_b, это может быть потому, что например файл не закрыт после записи или по тому что этот скрипт остаётся работать

но вот выход из кода я вижу, и закрытие файла я вижу
и честно говоря не понимаю в чём может быть проблема

Добавлено через 2 минуты
anastasia_b, и проблема в том что я не могу и проверить его у меня нету ни логина не пароля

будем пытаться зайти на этот форум))

Добавлено через 10 минут
anastasia_b, почему-то у меня работает как часы

всё записывает, переходит, показывает логи и в файле всё есть
0
1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 47
02.07.2015, 09:02  [ТС]
BANO, я заметила, что когда я закрываю окно IE, а затем открываю вновь - записывает.
Но при открытом окне IE и после повторного запуска батника - не пишет.

И на другом компьютере проверяла, та же самая проблема. На обоих компах Win 7 64-разрядная и IE 11. В чем же может быть дело?

Добавлено через 2 минуты
BANO, может быть дело в IE... А можете помочь переделать код, чтобы запускалось в браузере по умолчанию (у меня это Mozilla Firefox)?
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
02.07.2015, 14:12
anastasia_b, дело не в ie а в том что батник пытается запустить уже запущенную программу, что и не даёт результата

а вот переписать скрипт под другой браузер не получится, так как только ie входит в состав объектов jscript
0
1 / 1 / 1
Регистрация: 28.04.2013
Сообщений: 47
02.07.2015, 14:43  [ТС]
Цитата Сообщение от BANO Посмотреть сообщение
дело не в ie а в том что батник пытается запустить уже запущенную программу, что и не даёт результата
BANO, т.е. нужно прописать закрытие программы IE после исполнения скрипта?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.07.2015, 16:09
anastasia_b
На 32-битной windows никакой проблемы с повторным запуском батника при открытом окне IE не происходит. Просто запускается еще одно окно и скрипт отрабатывает повторную авторизацию и запись в файл.
Единственно, если сымитировать ошибку - сделать невыполнимым условие для перехода в ветку "// заканчиваем измерение" (где после происходит еще завершение скрипта по команде WScript.Quit()), то остается (будучи незавершенным) висеть в памяти процесс cscript.exe и запись в файл не происходит. Что, естественно, так как условие не выполняется. Но это - только при искусственно смоделированной ошибке.
Впрочем, на всякий случай можно подстраховаться от зависания процесса cscript с выполняющимся скриптом - в верхнюю часть батника перед строчкой
Code
1
@cscript /nologo /e:jscript "%~dpnx0"
можно добавить код
Code
1
tasklist /FI "IMAGENAME eq cscript.exe" |>nul find /i "cscript.exe" && taskkill /F /IM "cscript.exe"
И имеющийся процесс интерпретатора (если он есть) - будет отрубаться перед запуском нового.
Способ, конечно, грубоватый, но по-другому в батнике сложно реализовать.
Но если проблема не в cscript.exe - тогда я не знаю, что еще не так. К, сожалению, проверить на текущий момент скрипт на 64-битке не могу.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
02.07.2015, 16:33
Garry Galler, у меня 64
тоже просто открывает новое окно, и всё записывает как миленький

Добавлено через 2 минуты
единственное на что он ругается, это на то что если после первого запуска не выйти, то тестовый сайт(pgu.mos.ru) перенаправляет на главную страницу, а скрипт пытается найти на сайте элементы с указанными id, и выдаёт ошибки, так как таких инпутов на главной странице вообще не существует
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.07.2015, 16:33
Помогаю со студенческими работами здесь

Скрытие картинки после загрузки страницы
допустим есть картинка (промо-блок), как сделать её сворачивание (анимацию скрытия) с подниманием контента страницы, который находится ниже...

Запустить скрипт после загрузки страницы
Проблема древняя, но всё ещё актуальная. И мне самому удивительно, что я не могу решить её своими силами... но тем не менее... простейший...

Отображение страницы после полной загрузки
Добрый день Есть простая страничка: извне подключается css и десяток таблиц. Все устраивает кроме того, что после загрузки на...

После загрузки страницы появляются лишние стили в элементе li
Приветствую всех! Люди добрые, ради господа Бога помоги, не пинайте ногами, с такой проблемой столкнулся впервые, 3й день пытаюсь решить...

Как после полной загрузки страницы автоматически запустить flash player
Как автоматически запустить этот плейер после полной загрузки страницы? <html g_init="6893"...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru