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

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

01.07.2015, 11:22. Показов 1252. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru