Запись событий веб-страницы / вызовов Ajax / результатов и т. Д. - PullRequest
2 голосов
/ 24 декабря 2011

Я в основном ищу здесь указания.

Я ищу записи событий, которые происходят на веб-странице.Несколько похоже на ваш обычный «Макро-рекордер», с той разницей, что мне было наплевать на точное перемещение курсора или ввод с клавиатуры.Тип событий, которые я хотел бы записать, - это изменение полей ввода, всплывающих окон, переходов по ссылкам, отправки форм, запускаемых скриптов, вызовов ajax, результатов ajax и так далее.

Я думал об использовании Jquery для создания небольшого приложения для этого и вставки его на те страницы, на которых я хотел бы протестировать его (или, что более вероятно, загрузку страниц в iframe или что-то в этом роде).Однако я не могу приспособить сценарии на этих страницах для работы с этим, поэтому он должен работать независимо от содержимого.

Итак, я думаю, мой первый вопрос: можно ли это сделать?Особенно в отношении вызовов ajax и выполнения различных скриптов.Если это возможно, как бы я описал часть ajax / script?Если это невозможно, на каком языке я должен искать это задание?

Также: может быть, есть что-то, что уже может делать то, что я ищу?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Можно придумать два способа:

  1. Использовать надстройку (firefox) или расширение (chrome) для добавления тегов скрипта, загружающих jquery и ваше приложение jquery
  2. Установите прокси (вы можете использовать node.js или какой-либо другой прокси-сервер) и в тегах сценария ввода прокси обязательно настройте заголовок ContentLength.(хитро на сайтах https).
  3. Гораздо более простой и быстрый вариант, при котором вам не нужно захватывать onload, - это написать фрагмент JavaScript, который загружает jquery и ваше приложение с помощью тегов инжектирования сценариев, делает его букмарклетом ипосле загрузки страницы нажмите на закладку.
0 голосов
/ 01 июня 2012

Наткнулся на этот пост при поиске прокси для внедрения тегов.

Да, вполне возможно перехватить (почти) все вызовы функций и методов браузером через код в javascript, загруженном на страницу - обычно отладчик javascript (firebug?) Или HTTP-отладчик (tamperdata / fiddler) даст вам Множество того, что вам нужно, с гораздо меньшими усилиями.

OTOH, если вы действительно хотите сделать это с объемными данными / произвольными сайтами, то (основываясь на том, что я видел до сих пор) вы можете использовать прокси Squid с icap server / ecap module (не тривиально - потребует значительного объема программирования) или реализует JavaScript с помощью greasemonkey в качестве расширения браузера.

Просто чтобы прояснить, до сих пор я работал над тем, как перехватывать функции и методы (включая вызовы конструктора) и прокси, а затем в моем собственном коде, но пока не знаю, как справляться с обработкой, инициируемой прямой установкой свойства (например, img.src = 'http://hackers -r-us.com') и не обрабатывайте ActiveX аккуратно.

...