Подтвердить что ты не робот

Супер-быстрые методы скрипирования экрана?

Мне часто приходится делать некоторые простые скриншоты экрана для внутренних целей (т.е. сторонняя служба, которую я использую, только публикует отчеты через HTML). Сейчас у меня есть как минимум два или три случая. Я мог бы использовать apache httpclient и создать весь необходимый код очистки экрана, но это требует времени. Вот мой обычный процесс:

  • Откройте сайт Charles Proxy на веб-сайте и узнайте, что происходит.
  • Начните писать код Java с помощью Apache HttpClient, имея дело с куки файлами, несколькими запросами.
  • используйте HTML-код Jericho для обработки разбора HTML.

Мне жаль, что я не могу просто "записать мой сеанс" быстро, а затем параметризировать вещи, которые варьируются от сеанса к сеансу. Представьте себе, просто используя Charles, чтобы захватить весь запрос HTTP, а затем параметризировать соответствующую строку запроса или post params. Voila У меня есть многоразовый http script.

Есть ли что-нибудь, что делает это? Помню, когда я работал в большой компании, раньше использовался инструмент Load Runner от Mercury Interactive, который, по сути, имел хороший способ записи сеанса http и его повторного использования (для целей тестирования). Этот инструмент, к сожалению, очень дорог.

4b9b3361

Ответ 1

Я бы также посмотрел на Selenium и/или BeautifulSoup, если вы хотите использовать Python. Там также хороший инструмент тестирования Twill для автоматического тестирования веб-сайта, который может делать то, что вы хотите. Он также написан на Python и имеет API Python, но также есть упрощенный командный язык, который вы можете использовать с ним. Вот пример из документации Twill::

setlocal username <your username>
setlocal password <your password>

go http://www.slashdot.org/
formvalue 1 unickname $username
formvalue 1 upasswd $password
submit

code 200     # make sure form submission is correct!

Ответ 2

HtmlUnit - это сценарий, безгласный браузер, написанный на Java. Мы используем его для некоторых чрезвычайно сложных, сложных веб-страниц, и это обычно делает очень хорошую работу.

Чтобы упростить еще больше, вы можете запустить его в Jython. Результирующая программа читает больше как расшифровку того, как можно использовать браузер, чем тяжелая работа.

Ответ 3

Вы не указываете, для чего вы хотите использовать это; Одним из решений является просто "script" ваш веб-браузер с использованием таких инструментов, как Selenium, если веб-браузер повторяет ваши действия, является приемлемым решением. Вы можете использовать Selenium IDE, чтобы записать то, что вы делаете, а затем изменить параметры.

Ответ 4

Мне жаль, что я не могу просто "записать мой сеанс" быстро, а затем параметризировать вещи, которые варьируются от сеанса к сеансу.

Если у вас есть тестовая версия Visual Studio, функция веб-тестирования делает это точно. Если вы не используете VS или хотите автономный инструмент, у меня был большой успех с OpenSpan. Это больше, чем просто веб, это приложения для Windows и java!

Ответ 5

Selenium будет моим первым выбором, так как IDE позволяет вам многое сделать простым способом, "записывая" сеанс для вас. Но, если вас не устраивает то, что он предоставляет, вы также можете использовать модуль Python под названием Beautiful Soup для программного перехода через веб-сайт.

Ответ 6

CoScripter

http://coscripter.research.ibm.com/coscripter

Упрощение веб-процессов.

CoScripter - это система для записи, автоматизация и совместное использование процессов выполненных в веб-браузере r, таких как печатать фотографии в Интернете, запрашивая отпуск для почтовой почты или проверяя время прибытия рейса. Инструкции для процессов: записывается и сохраняется в удобном для чтения текст здесь, на веб-сайте CoScripter, поэтому каждый может их использовать. если ты возникают проблемы с веб- процесс, проверьте, есть ли у кого написал CoScript для этого!

Wget

Чтобы быстро вывести содержимое, используйте wget:

wget -r -n -k -w 2 foo.com

Затем проанализируйте HTML локально.

Twill

В дополнение к Selenium вы также можете проверить Twill, компаньон командной строки:

http://twill.idyll.org/

Ответ 7

Попробуйте iOpus iMacros http://www.iopus.com/imacros/. Я использую это для очистки экрана, и его работа очень хорошо, и скорость тоже очень хороша. Это не так дорого.

Он будет записывать script во время просмотра. Затем вы можете параметризовать script и выполнить с помощью Java,.net и т.д.

Ответ 8

У Python и Perl есть модуль под названием Mechanize (WWW:: Mechanize for perl), который упрощает работу с браузером (заполняя формы, обрабатывая файлы cookie и т.д.).

Итак, Python + BeautifulSoup (отличный парсер html/xml) + mechanize (функции браузера) = супер легкий/быстрый скребок

Ответ 9

Я использовал DomInspector для ручного осмотра интересующего сайта для параметризации его структуры. Затем простой Apache HttpClient и ручной синтаксический анализатор, используя эту параметризованную структуру. В принципе, я мог бы извлечь любую информацию с любого сайта автоматически с небольшой настройкой параметров. Это похоже на то, как работает парсер SAX, все, что вам нужно сказать, - это то, в какой последовательности тегов вы хотите начать захватывать данные. Например, у google есть довольно стандартный формат результатов поиска. Итак, вы просто запускаете третье вхождение "tab" и начинаете получать текст из первого "div" до конца '/div'

Ответ 10

iMacro доступен для скриптов, но только для Firefox я предполагаю, что он не очень хорош в производительности, но может обрабатывать самые сложные ситуации и легко записывать материал.

Ответ 11

Internet Explorer поддерживает объекты поддержки браузера (BHOs). Они могут получить доступ к IE HWND (дескриптор окна) и легко очистить пиксели оттуда. Интерфейс COM IWebBrowser2 также предоставляет вам доступ к HTTP-запросам, и вы можете вернуть анализируемый HTML-документ с помощью IWebBrowser2::Document = IHTMLDocument / IHTMLDocument2 /IHTMLDocument3

Ответ 12

Используя FireFox, можно реализовать большую часть его благодаря мощной поддержке аддонов и улучшений, однако это не означает, что вы запускаете "безголовый", но действительно являетесь настоящим скриптовым браузером. Кроме того, я, кажется, помню, что прочитал, что браузер Google Chrome использует аналогичную технику для автоматического тестирования регрессии.

Ответ 13

Я не могу лично ручаться за него, но есть бесплатный плагин firefox: DejaClick Я установил его на днях и сделал некоторые исправления записи, воспроизведения и script редактирования действий с ним. Он вытащил их без большой кривой обучения. Если ваша конечная цель - показать что-то в веб-браузере, тогда этого должно быть достаточно.

Они предлагают услуги мониторинга веб-транзакций, подразумевая, что вы можете экспортировать скрипты для других целей, но они могут быть слишком проприетарными для использования за пределами вашего веб-браузера/их платной службы.

http://www.dejaclick.com/

Ответ 14

Я бы проверить Badboy. Он запускает браузер IE, но вы можете буквально щелкнуть запись и записать всю свою активность.

Затем вы можете автоматизировать обработку этого script и заполнить значения из источника данных (ODBC, Excel и т.д.)

Badboy Software

Ответ 15

Я бы посмотрел на Fiddler, судя по вашим запросам, он сделает все, что вам нужно.