Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.08.2010, 09:53
Программер_Х
 
Сообщения: n/a
Счастье Как программно загружать страницу и нажать на кнопку если в кнопке есть onclick(js) ?

хотелось бы написать программу которая меняет текст микроблога Мой Мир@Mail.Ru
исходный код страницы майл.ру слишком большой и еще куча js-файлов...)

вот и нашел форму микроблога...

Код HTML:
........... <div class="bb_new" onmouseout="showEl(this,{type:'del_it',act:'hide'});" onmouseover="showEl(this,{type:'del_it',act:'show'});"> <a class="bb_new_tl bb_new_sp"></a><a class="bb_new_tr bb_new_sp"></a> <form onSubmit="return false;" id="micropost_form" name="microPost" action="#" method="POST"> <input type="hidden" id="mna" name="mna" value="646295"> <input type="hidden" id="mnb" name="mnb" value="-314258109"> <div><input name="container" type="hidden" value="history_container" /> <input name="postsContainer" type="hidden" value="my_microposts_container" /> <input name="scroll" type="hidden" value="400" /> <input name="defaultName" type="hidden" value="M-Unit PRO {try_end}" /> <input name="defaultEmail" type="hidden" value="m-unit_0777@mail.ru" /> <input name="is_status" type="hidden" value="1" /></div> <div id="my_history_container"> <a href="http://my.mail.ru/my/delete_micropost?id=5A737A62DA2BEAA0" onclick="if (!confirm('Вы действительно хотите удалить своё высказывание?')) return false;" class="mf_spIco mf_iDelNew mf_iOnes mf_pAbs" style="top:9px; right:9px; display: none;" title="удалить" type="del_it"></a><a href="http://my.mail.ru/my/delete_micropost?id=5A737A62DA2BEAA0" onclick="if (!confirm('Вы действительно хотите удалить своё высказывание?')) return false;" class="mf_spIco mf_iDelNew mf_iOnes mf_pAbs" style="top:9px; right:9px; display: none;" title="удалить" type="del_it"></a><div class="mr15"> <span type="micropost_text">Скрытый текст (для лохов он не виден)</span> <span class="mf_grey mf_t11 mf_nobr">&mdash; 5 дней назад</span> </div> </div> <textarea onfocus="return clickBubble(event,this);" onblur="setTimeout(clickBubble.bind(this, event, this), 200);return false;" onchange="return checkBubbleLength(event, this, 0);" onkeyup="return checkBubbleLength(event, this, 0);" name="bubble_text" class="inpArea mf_ovAuto mt5 mf_grey pt3" style="height: 19px;" maxlength="500" counter="micropostCharCounter">Расскажи друзьям, что ты сейчас делаешь</textarea> <div class="mf_ohd mt5 mf_grey mf_t11"> <div class="mf_flr mt4 pb3"><span class="pr10">Добавить:</span><a class="mf_spIco mf_iFoto mr10" href="http://foto.mail.ru/cgi-bin/photo/addphoto" name="cln6293">Фото</a><a class="mf_spIco mf_iVideo mr10" href="http://video.mail.ru/cgi-bin/photo/addvideo?mode=2" name="cln6294">Видео</a><a class="mf_iMusic mf_spIco mr5" href="http://my.mail.ru/mail/m-unit_0777/audio-upload " name="cln6296">Музыку</a></div> <input id="micropost_submit" type="submit" name="add_bubble" value="Сказать" onClick="return saveMicropost(this.form, 0);" disabled="disabled" title="Ctrl + Enter" /> <span class="pl10 mf_vti mt4 mf_dIB"><span id="micropostCharCounter">0</span> из <span>500</span></span> </div> </form> .................

вот както можно нажать кнопку "Сказать" ? тут используется не ссылка а js функция при добавление...точнее форма загружает с помощью ajax видимо...



Код HTML:
onClick="return saveMicropost(this.form, 0);

//вот...искал но не нашол функцию "saveMicropost"...даже искал все js-файлы которые используется типа include (<script src="файл"></script>) (((

нигде не нашол данную функцию)))

Помогите пожалуйста разобраться с этим кодом...
БУДУ БЛАГОДАРЕН
ведь не сложно =))
Ответить с цитированием
  #2  
Старый 28.08.2010, 13:39
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Вот ты и прокололся, забаненный M-Unit
Ответить с цитированием
  #3  
Старый 28.08.2010, 15:37
Программер_Х
 
Сообщения: n/a
Счастье

Цитата:
Сообщение от pesi
Вот ты и прокололся, забаненный M-Unit
ну да там меня забанили, подпись...
скоро буду на том аккаунте если буду жить=)
до 11января 2011 забанили меня помоему
Ответить с цитированием
  #4  
Старый 28.08.2010, 15:39
Программер_Х
 
Сообщения: n/a
Счастье

... и больше не буду нарушить правилы данного форума
Ответить с цитированием
  #5  
Старый 28.08.2010, 16:02
Программер_Х
 
Сообщения: n/a
Смущение

Пожалуйста хоть подскажите как нажать кнопку "add_bubble" (Сказать) в html коде

Код HTML:
<input id="micropost_submit" type="submit" name="add_bubble" value="Сказать" onClick="return saveMicropost(this.form, 0);" disabled="disabled" title="Ctrl + Enter" />

вот...
Ответить с цитированием
  #6  
Старый 28.08.2010, 19:35
Программер_Х
 
Сообщения: n/a
Хорошо

(((

ладно...
никто не поможет*((
сам найду точку входа=))
Ответить с цитированием
  #7  
Старый 28.08.2010, 21:12
oldbear oldbear вне форума
Прохожий
 
Регистрация: 01.04.2010
Сообщения: 5
Репутация: 10
Сообщение

Ну тут может быть 4 пути:
1) Самый примитивный, легкий и ненадежный. Запустить какой-нибудь сниффер и тупо сдампить трафик (возможно не все так плохо, вполне подойдет firebug для просмотра xml или json или чем они там обмениваются). В нужное место подставить свои куки, в нужное место подставить свой текст, и, не разбираясь потом, отсылать всю эту чушь серверу. Из плюсов - очень быстро, не требуется никаких знаний. Из минусов - очень ненадежно. Мало того, что малейшее изменение протокола порушит всю эту херню, так еще и ты будешь слать данные, смысл которых ты не понимаешь. + Скорее все, протокол будет довольно сложный и требуется некая сложная авторизация, механизм которой сложно понять.
2) Разобраться в jscript'е. Понять как происходит авторизация, отправка сообщений. Из плюсов - работать будет на 100%, возможно, будут доступны какие-нибудь плюшки, в виде каких-нибудь комментариев/цитат или еще чего (что там есть у этого майла - не знаю, не пользуюсь). Из минусов - естественно время на разбор километров джаваскрипта + возможно, сам скрипт и, естественно, протокол может меняться хоть каждую неделю. Придется разбираться в изменениях.
3) Прикрутить к программе какой-нибудь интерпретатор этого самого html/jscript. Вы, дельфицы, особо о кроссплатформенности не думаете, поэтому, скорее всего, воспользуетесь каким-нибудь готовым компонентом для iexplore'ра. Нормальные пацаны таскали бы за собой несколько мегабайт вебкита. Плюсы - будет работать практически всегда. Либо, уж если до неузнаваемости изменят страницу, подправить xpath до кнопки -дело 15ти секунд. Не надо разбираться в jscriptе. Минусы - лишний размер программы, возня с компонентом, отвечающим за связь с тем или иным движком браузера.
4) Самый правильный способ. Забить вообще на гребанную html страницу. Левые программы (типа ихнего агента), скорее всего как-то умудряются оставлять те же самые сообщения. Насколько я знаю, протокол агента открыт и, о Боже, доступен даже на русском языке! Прочитать 5 страничек протокола и за пару вечеров написать нормально работающую программу. Плюсы - протокол для внешних программ меняют редко, зачастую оставляя обратную совместимость. Не надо таскать с собой левых компонентов. Минусы - таковых нет, за исключением траты одного вечера на чтения протокола. Может есть какие-нибудь готовые библиотеки для работы этого протокола.
Ответить с цитированием
  #8  
Старый 28.08.2010, 21:35
Программер_Х
 
Сообщения: n/a
Счастье

Если этого ВЫ писали то спасибо...
очень хорошая статья получилось=)
и + в том что много материм...))

я чё то не понял, исходник майл.ру агент доступен в паблике что ли??? я конечно понимаю что она написана не на дельфи...)
Ответить с цитированием
  #9  
Старый 28.08.2010, 21:38
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Цитата:
Сообщение от pesi
Вот ты и прокололся, забаненный M-Unit
Да он еще раньше прокололся - у него в профиле сайт указан
Ответить с цитированием
  #10  
Старый 28.08.2010, 21:45
Программер_Х
 
Сообщения: n/a
Вопрос

Цитата:
Сообщение от ChinYan
Да он еще раньше прокололся - у него в профиле сайт указан
че за бред? че ненадо заполнить свою домащнюю страничку в профиле что ли?
я не прокололся

докажи в чем прикол был если Я РЕАЛЬНО прокололсЯ...
Ответить с цитированием
  #11  
Старый 28.08.2010, 22:01
Программер_Х
 
Сообщения: n/a
Восклицание

Цитата:
Сообщение от ChinYan
Да он еще раньше прокололся - у него в профиле сайт указан

нет доказательств поэтому молчишь...


2.6. Пользовательская подпись не должна превышать 4 строк (включая пустые), и не должна содержать ссылок (ссылку на свой сайт Вы можете вставить в соответствующее поле профиля). Рекламируйте себя другими способами, форум не рекламная площадка.
Ответить с цитированием
  #12  
Старый 28.08.2010, 22:18
oldbear oldbear вне форума
Прохожий
 
Регистрация: 01.04.2010
Сообщения: 5
Репутация: 10
Сообщение

я написал, что открыт протокол, а не сам огент.
http://tinyurl.com/38cu7rv

P.S. Не оффтопте. Это форум по Делфи, а не конкурс на сценарий Дом-2. Если кому-то кажется, что человек не должен тут присутсвовать - есть модераторы форума. Какого лешего, я должен читать ваше лаянье друг на друга?

Последний раз редактировалось oldbear, 28.08.2010 в 22:20.
Ответить с цитированием
  #13  
Старый 28.08.2010, 22:42
Программер_Х
 
Сообщения: n/a
Восклицание

ну он(и) сами начали меня оскорблять
Ответить с цитированием
  #14  
Старый 28.08.2010, 22:51
oldbear oldbear вне форума
Прохожий
 
Регистрация: 01.04.2010
Сообщения: 5
Репутация: 10
Сообщение

Сорри. Сейчас глянул сам протокол. Походу, там нет никакого упоминания о "микроблогах". Есть ли в самом агенте возможность их писать?

Если нет, то остаются только первые 3 варианта. Хотя, конечно, глупо со стороны майловцев не давать никакого публичного api для взаимодействия с их сервисом.
Ответить с цитированием
  #15  
Старый 28.08.2010, 22:54
Программер_Х
 
Сообщения: n/a
Счастье

Цитата:
Сообщение от oldbear
Сорри. Сейчас глянул сам протокол. Походу, там нет никакого упоминания о "микроблогах". Есть ли в самом агенте возможность их писать?

Если нет, то остаются только первые 3 варианта. Хотя, конечно, глупо со стороны майловцев не давать никакого публичного api для взаимодействия с их сервисом.

да ))можно опубликовать запись в микроблог с помощью агента выще 5.4 )))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter