![]() |
|
Модераторы: mihanik |
![]()
|
|
| Acraft |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 19.4.2005 Репутация: нет Всего: 2 |
К примеру, мне нужно отостлать на сервер 100 анкет . Копия формы анкеты с заранее прописанными данными лежит у меня на жестком диске. Я открываю 100 окон браузера вставляю кусок текста из буфера. И давлю submit. (каждая форма обработывается разное время, т.к. SELECT'ом в форме указывается файл, который лежит на сервере и в соответствии с которым должна обрабатываться форма. Содержимое формы одинаковое, select'ы разные.
НО! Формы должны быть отосланы поочереди, (есть шанс, что сервак повиснет). Т.е. следующая форма не должна быть отправлена до тех пор, пока сервер не обработал данные предыдущей. А сидеть и ждать пока отправится каждая форма утомительно. Доступа к скрипту-обработчику формы, к сожалению, нет. Поэтому вариант с PHP отпадает. Остаются скритовые языки, например Java Script или VB (WHS). Есть идея с его помощью можно запрограммировать последовательность нажатий клавиш клавиатуры. Т.е. - - загружается шаблонный файл (напр: 1.htm) - 6 раз нажимает на Tab - в зависимости от шага цикла нажимаем клавишу "вниз" <i> раз. - 5 раз нажимаем на Tab - 1 раз Enter (подргужается страница с предпросмотром) - 11 раз нажимает на Tab - 1 раз Enter (данные формы уходят на сервер) Для перехода к следующему шагу цикла ждем завершения обработки текущей формы. (до 5 минут). !!!!!!!!Каким образом можно это реализовать? (ожидание)!!!!!!!!!!!! Полазал по поисковикам, кое что изобразил, но информации явно недостаточно. Вот что получилось. <script language="VBScript.Encode"> Option Explicit Dim WshShell Dim f, x, i ' On Error Resume Next Set WshShell=WScript.CreateObject("WScript.Shell") Dim batfile batfile="c:\111\file.bat" ' батник загружает html-страницу. for i=1 to 52 i=i+1 Wscript.Sleep Int((1800000)*Rnd) WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" while f<=i WshShell.SendKeys "{DOWN}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" ' 'WshShell.SendKeys "{ENTER}" ' 'WshShell.SendKeys "{TAB}" ' WshShell.SendKeys "{TAB}" ' WshShell.SendKeys "{TAB}" ' WshShell.SendKeys "{TAB}" ' WshShell.SendKeys "{TAB}" ' WshShell.SendKeys "{TAB}" ' WshShell.SendKeys "{TAB}" ' WshShell.SendKeys "{ENTER}" ' ' </script> |
|||
|
||||
| НеуФазендник |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 9.5.2006 Репутация: нет Всего: 2 |
А чего не достаточно-то?
Sendkeys - это и есть имитация ввода с клавиатуры. В справке по VBA формат расписан. application.OnTime - урегулирует все проблемы со временем задержки определенных действий. Осталось только алгоритм действий разработать. Но как я понял, первый шаг в этом направлении сделан, и весьма смело. Что еще? |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |