Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дождаться выполнения скрипта. [D7]


Страницы:   1 2 3

Mach3 ©   (2011-11-01 08:20:00) 

Привет. Пытаюсь загрузить страничку, кликнуть по "кнопке" и после получить нужный контент. Но как дождаться окончания выполнения Java скрипта не знаю.
WebBrowser1.Navigate(' http://www.ru');

while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do
   Application.ProcessMessages;
WebBrowser1.OleObject.Document.getElementByID('show_contacts').click;

S:= WebBrowser1.OleObject.Document.getElementByID('show_contacts').innerHTML;


Необходимо, чтобы в S содержалось значение после выполнения скрипта..


Mach3   (2011-11-01 16:17:00) [21]

Может я чего не понимаю?!!!!!!!!
Посмотри на коды операторов: (956), (986).. таких, возможно даже не существует..
по объявлению http://ussuriisk.drom.ru/toyota/succeed/6035047.htmlномер должен быть +7 (924) 261-0278
выполняя  запрос http://ussuriisk.drom.ru/auto/?bull_id=6035047&request=ajax_show_contacts&crossdomain_ajax_request=2получаем +7 (996) 261-0278
может у меня чего не так?!


sniknik   (2011-11-01 16:04:00) [22]

опять обманываешь... зачем тебе это?

> И даже так работает:
> http://ussuriisk.drom.ru/auto/?bull_id=6054110&request=ajax_show_contacts&crossdomain_ajax_request=2
вот проверяем, меняем id
http://ussuriisk.drom.ru/auto/?bull_id= 6054111&request=ajax_show_contacts&crossdomain_ajax_request=2

и получаем вместо +7 (956) 717-3126 это +7 (986) 124-9629
+7 (986) 135-7123
т.е. все меняется, все ок, все РАБОТАЕТ

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


Mach3   (2011-11-01 15:54:00) [23]

Т.Е. +7 (914) 717-3126
Код оператора неверен


Mach3   (2011-11-01 15:52:00) [24]

НЕ РАБОТАЕТ..
Переходя по ссылкам получаем номер +7 (956) 717-3126
а должен бть +7 (961) 212-1527


sniknik   (2011-11-01 15:48:00) [25]

> не суди.. и не судимым будешь..
не обманывай... и не ... (вставить любую банальность. по желанию). отношение будет другое.

> Возможно.
а зачем? ;)


Омлет   (2011-11-01 15:43:00) [26]

Да и вообще, этот параметр можно не передавать.
Так запрос тоже работает:
http://ussuriisk.drom.ru/auto/?bull_id=6054110&obj=show_contacts&crossdomain_ajax_request=2&request=ajax_show_contacts

И даже так работает:
http://ussuriisk.drom.ru/auto/?bull_id=6054110&request=ajax_show_contacts&crossdomain_ajax_request=2


Омлет   (2011-11-01 15:40:00) [27]

> т.е. получить его невозможно?

Возможно. Это текущая дата/время в формате unix time ( 1320134266513), плюс миллисекунды - 3 цифры в конце (1320134266 513).


Mach3   (2011-11-01 15:34:00) [28]


> на автомате. страааашный человек...

не суди.. и не судимым будешь..


Mach3   (2011-11-01 15:26:00) [29]

т.е. получить его невозможно?


Омлет   (2011-11-01 15:12:00) [30]

> А как получить _=1320134266513 я не догадался..

Это похоже на timeStamp.


Mach3   (2011-11-01 15:05:00) [31]

http://ussuriisk.drom.ru/auto/?_=1320134266513&bull_id=6054110&obj=show_contacts&crossdomain_ajax_request=2&re quest=ajax_show_contacts

> т.е.? посмотреть снифером и составить нужный запрос серверу?
> !пытался, но в запросе необходимо указать параметр, который
> всегда разный.  а как его получить я понять не смог..

Если послать этот запрос, контакты вернуться верными за исключением кода оператора.

А как получить _=1320134266513 я не догадался..


Медвежонок Пятачок   (2011-11-01 11:44:00) [32]

ну если там телепон с сервера аяксом тянется, то конечно у сервера и надо спросить без всяких браузеров.
я-то думал, что там матан в самом скрипте и телефон генерируется на клиенте.


Омлет   (2011-11-01 10:58:00) [33]

Пробел надо убрать, ссылка разорвалась.


Омлет   (2011-11-01 10:58:00) [34]

http://ussuriisk.drom.ru/auto/?_=1320134266513&bull_id=6054110&obj=show_contacts&crossdomain_ajax_request=2&request=ajax_show_contacts


sniknik   (2011-11-01 10:56:00) [35]

> обманывать никого и не собирался..
не собирался, но обманул... на автомате. страааашный человек...

> убрать делфи.
оставить дельфи, убрать WebBrowser, посмотреть как с скрипте формируется запрос для аякс... (простой get на ....php с параметрами), и вызывать его самому, чем угодно хоть indy (сначала естественно оригинальную страничку... но судя по приведенной ссылке с кодом, она уже есть). там сразу будет телефон...


Медвежонок Пятачок   (2011-11-01 10:38:00) [36]

убрать делфи.
взять например хром.
+ юзер скрипты
+ евент на изменение дива addEventListener('DOMSubtreeModified'....


Омлет   (2011-11-01 10:37:00) [37]

> Mach3   (01.11.11 10:12) [16]
> так решения отличного от использования таймера не придвидится?


Используй Selenium.


Mach3   (2011-11-01 10:12:00) [38]

так решения отличного от использования таймера не придвидится?


Mach3   (2011-11-01 10:11:00) [39]

обманывать никого и не собирался..
сбор?!! спам меня не интересует..


Омлет   (2011-11-01 10:10:00) [40]

> sniknik ©   (01.11.11 10:05) [13]
> сбор личных данных незаконен.


В России-то? )


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо