![]() |
|
![]() ![]() ![]() |
|
moonshiner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.4.2010 Репутация: нет Всего: нет |
Добрый день,
В ruby новичок, но сразу же возникла задача написать скрипт, который логинился бы на определенный хост, выбирал в паре-тройке drag&drop'ов нужные поля и нажимал кнопку Apply. После чего переходил по другой ссылке на том же хосте и стягивал файл. Сколько искал примеров реализации подобной задачи ничего не нашел кроме разве что одного и того же материала касательно HTTP POST & GET. Это благо и на ruby-doc.org имеется... Может быть кто-то сталкивался с подобного рода задачей и может показать как это реализуется. Заранее большое спасибо. |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
И что тебе ещё нужно? Любые сайты на данный момент работают только с помощью этих двух методов. Кроме того, библиотек для программного осуществления HTTP-запросов предостаточно, выбирай на вкус. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
moonshiner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.4.2010 Репутация: нет Всего: нет |
Спасибо за ссылки, буду изучать
![]() |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 1 Всего: 67 |
selenium rc и другие тестовые фреймверки -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
moonshiner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.4.2010 Репутация: нет Всего: нет |
Доброго времени суток,
Подскажите пожалуйста что я делаю не так.. "код" если его можно так назвать, написал используя Guide с оф сайта Mechanize. Судя по логам приложения, скрипт только по ссылкам ходит, но выборку из drop down полей не делает :-( может есть у кого идеи? Заранее спасибо
|
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
А что должен? Это твоя работа - указать какие HTTP запросы отсылать серверу, а не полагаться на искусственный интеллект Mechanize, которого у него и не было никогда. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
moonshiner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.4.2010 Репутация: нет Всего: нет |
А разве нет? При нажатии на последнюю сслыку (c href /filter/) в браузере в логи пишется что мол пришел POST запрос. При выполнении скрипта такого не происходит, хотя жмакается та же самая ссылка. Я просто не пойму что я делаю не так...
|
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 1 Всего: 67 |
Если при гажатии ссылки отправляется POST запрос, значит отрабатывает JS, который мечанайз выполнять не умеет. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
Ты пытаешься эмулировать действия пользователя, вместо того чтобы автоматизировать последствия этих действий. Юзер может 2 часа заполнять формы, таскать всякие js-контролы из стороны в сторону, а результатом его действий станет один единственный HTTP-запрос. А ты вместо того, чтобы просто автоматизировать нужные HTTP-запросы, пытаешься непонятно с какой целью эмулировать действия пользователя. Иногда действия пользователя эмулируют с целью интеграционного тестирования, но для решения поставленной в топике задачи - это затея совершенно неподходящая и несоразмерно сложная. Складывается ощущение, что ты видишь сайт только с точки зрения пользователя, что крайне вредно в данном случае. Так что изучи хотя бы основы HTTP, прежде чем приступать к задачам автоматизации.
Так нафига Mechanize знать про какой-то JS? Ему достаточно сделать конкретный POST-запрос с конкретными параметрами. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
moonshiner |
|
||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.4.2010 Репутация: нет Всего: нет |
Доброе утро,
А никто не сталкивался с подобного рода проблемой: при попытке сделать post запрос mechanize выкидывает такую ошибку:
сам скрипт:
Это сообщение отредактировал(а) moonshiner - 20.10.2010, 10:05 |
||||
|
|||||
source777 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
Сервер не может обработать запрос, скорее всего ошибка в запросе.
Ты имел в виду это:
? -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||
|
|||||
moonshiner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.4.2010 Репутация: нет Всего: нет |
День добрый!
Как выяснилось, приложение "умеет" сохранять форму запросов (выборку drag&drop).. POST запрос не потребовался, задача решена с помощью GET. Всем большое спасибо за помощь! Это сообщение отредактировал(а) moonshiner - 28.10.2010, 09:58 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |