Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имитация ввода с клавиатуры 
:(
    Опции темы
Acraft
Дата 16.11.2005, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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>
PM MAIL   Вверх
НеуФазендник
Дата 23.7.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



А чего не достаточно-то?

Sendkeys - это и есть имитация ввода с клавиатуры.
В справке по VBA формат расписан.

application.OnTime - урегулирует все проблемы со временем задержки определенных действий.

Осталось только алгоритм действий разработать. Но как я понял, первый шаг в этом направлении сделан, и весьма смело.

Что еще? 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0384 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.