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

У меня есть куча URL-адресов, и я пытаюсь узнать, каково время загрузки страницы (PLT) для этих URL-адресов в Chrome в Windows. Теперь есть много способов сделать это, но я хочу автоматизировать процесс, чтобы хром мог откуда-то считывать URL-адреса, для которых я хочу измерить PLT, и где-то выводить результаты, возможно, в другой файл.

Есть ли какой-нибудь инструмент, который я могу использовать здесь? Или, возможно, написать плагин, который может читать из файла, когда я запускаю Chrome, и выполняет эту работу за меня? Я не уверен, насколько простым или сложным это может быть, так как у меня нет опыта в этом.

Один из способов, который я могу придумать, — это добавить плагин, который может измерять PLT в хроме, написать пакетный файл, содержащий команды для вызова хрома, и открыть URL-адреса на отдельных вкладках. Однако при этом мне по-прежнему приходится вручную просматривать PLT и записывать их, и я хочу автоматизировать и это.

Любая помощь будет оценена по достоинству.


person sachuraju    schedule 06.06.2013    source источник
comment
Готовы ли вы делать это, когда пользователь открывает страницу в Chrome? Другими словами, расширение, которое находится в фоновом режиме и измеряет загрузку всех страниц, которые просматривает пользователь. Если да, то могу ответить на этот вопрос рекомендацией.   -  person Jude Osborn    schedule 07.06.2013
comment
Да, расширение, которое может находиться в браузере и сообщать о PLT для всех страниц, загруженных браузером Chrome, было бы именно тем, что мне нужно. Но мне нужно расширение, чтобы поместить данные в файл или базу данных, возможно, чтобы мне не приходилось каждый раз смотреть на плагин, чтобы увидеть, что такое PLT.   -  person sachuraju    schedule 07.06.2013
comment
Chrome технически не позволяет вам получить доступ к локальной файловой системе, но вы можете сделать это с помощью этого: developer.chrome.com/extensions/npapi.html   -  person Jude Osborn    schedule 07.06.2013


Ответы (2)


«Технически Chrome не позволяет вам получить доступ к локальной файловой системе, но вы можете сделать это с помощью этого: https://developer.chrome.com/extensions/npapi.html.

Другой подход заключается в отправке данных в другое место в Интернете через API. На ум приходит API Google Диска: https://developers.google.com/drive.

Возможно, вы уже знаете, что анализ страниц можно выполнить с помощью скрипта контента. Просто вставьте код JavaScript или библиотеки, которые вам нужны, на страницы, которые открывает пользователь, через файл манифеста, примерно так:

"content_scripts": [
    {
        "matches" : [
            "<all_urls>"
        ],
        "js" : [
            "some_content_script.js"
        ]
    }
],

Вам также потребуется добавить «all_urls» в раздел разрешений файла манифеста.

Расчет времени загрузки может быть просто выполнен с помощью таймера, запускающего начало загрузки страницы (как только скрипт будет введен) и заканчивающегося на «document.onload».

Честно говоря, звучит как довольно полезное расширение!

person Jude Osborn    schedule 07.06.2013
comment
Спасибо. Я это попробую. - person sachuraju; 07.06.2013

Есть несколько способов, которыми вы могли бы подойти к этому

  1. Используйте WebPageTest — либо получите ключ API для общедоступного экземпляра, либо установите свой собственный частный экземпляр (http://andydavies.me/blog/2012/09/18/how-to-create-an-all).-in-one-webpagetest-private-instance/)

  2. Управляйте Chrome с помощью API удаленной отладки. Андреа приводит пример использования API для создания файлов HAR, но ваш случай будет проще — https://github.com/andydavies/chrome-har-capturer

  3. Возможно, вы также могли бы взломать это расширение Chrome, чтобы публиковать время на удаленном сайте — https://chrome.google.com/webstore/detail/page-load-time/fploionmjgeclbkemipmkogoaohcdbig через фоновое окно.

person Andy Davies    schedule 07.06.2013
comment
Спасибо. Позвольте мне попробовать эти варианты и посмотреть, что подходит мне лучше всего. - person sachuraju; 07.06.2013