Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - GhostSoul

Pages: [1] 2
1
как найти в окне браузера поле для ввода логина?
графически находить поле для ввода
Просто сохраните картинку начала нужного вам поля, используйте шаблон поиска картинки и добавьте к возвращаемым системным переменным несколько пикселей, чтоб клик попадал точно в поле а не слева в верху от него.
Спасибо, попробую этот варинат.

2
Ну так тебе уже ответили.  Найди  способ, которым можно будет определить устройство, потом создай список этих устройств и под каждое устройство создай свои настройки/действия
Вот тут и проблема. как найти в окне браузера поле для ввода логина?

3
Конечно возможно, сначала графически находить поле для ввода, а потом вводить ЛОГИН и ПАРОЛЬ , или автоматизировать распознавание разных версий и в условиях указать для каждой версии свои координаты.
По сути нужно найти активное поле для ввода данных!

4
Вот прям в том меню и был. Включил, подгрузил и всё
Проблема в том, что после раскрытия браузера, нужно кликнуть на поле ввода логина, иначе он не вводит логин.
А это поле в разных устройствах находится в разных местах на открытом окне браузера. И просто записать координаты клика для ввода не получится.
Как быть?

5
Подскажите, есть потребность вводить ЛОГИН и ПАРОЛЬ в браузере при заходе на устройство.
Появляются два поля для ввода и кнопка ОК.
Но в разных версиях эти поля для ввода находятся в разной области экрана и кликам на них, не вариант.
Возможно автоввод ?

6
Подскажите команду для закрытия окна после выполнения задачи.
То есть полное закрытие программы.
Если про другие ALT+F4
Не катит.
ТЕЛНЕТ просто не реагирует на это сочетание клавиш!
 >:(

А как насчет команды "quit"?

Не Вариант. После моих команд ТЕЛНЕТ не дает возможность вводить команды. Выкрутился тем что  закрываю программу крестом.

7
Подскажите команду для закрытия окна после выполнения задачи.
То есть полное закрытие программы.
Если про другие ALT+F4
Не катит.
ТЕЛНЕТ просто не реагирует на это сочетание клавиш!
 >:(

8
Мне нужна команда закрытия Телнет.
С горем сообщаю Ваш вариант в Телнет напрочь не хочет работать.
Все  работает до момента Ввода пароля, логина и команд.
Телнет их просто не понимает, даже комбинацию клавиш CTRL+V не понимает.
Смог вводить писать путем ручного вызова панели меню и нажатия ВСТАВИТЬ.
Вот такая особенность работы данной программы.
Я все переписал с учетом Вашего кода (большое спасибо за это) и своего вариант ввода текста.
В конце решил закрыть программу путем простого наживания на крестик.

Выкладываю полностью код, возможно кому та пригодится особенности работы Телнет  :)


Code: [Select]
// Запуск Телнет на  192.168.127.1
EXECUTE("telnet:192.168.127.1")
WAITMS(500)

$time = $_time_t + 30
WHILE(($h = 0)&($time > $_time_t)) // ждем появления окна Telnet, но не более 30 сек
   $h = WNDFIND("Telnet", 0) // поиск окна по заголовку Telnet
   WAITMS(50)
END_CYC

IF($h > 0) // если окно найдено
   WAIT(2) // Ждем чтобы программа полность запустилась
   WNDBUMP($h) // поднимаем окно на передний план
   POSTMESSAGE($h, 0x0112, 0xF030, 0) // Разворачиваем окно на весь экран
   SETKBLAYOUT($_hwnd_self, 1033) // Меняем раскладку кликера En
   SETKBLAYOUT($h, 1033) // Меняем раскладку Telnet En
   // ВВод логина
   TOCLIP("admin") // В буфер логин и пароль
   //Выбор меню
   rDown(72,66)
   waitms(120 + $S_CORR)
   rUp(72,66)
   // Выбор ВСТАВИТЬ
   WAITMS(500)
   lDown(117,131)
   waitms(97 + $S_CORR)
   lUp(117,131)
   //Нажание Enter
   WAITMS(500)
   keyDown(13)
   waitms(45 + $S_CORR)
   keyUp(13)
WAIT(1)
   // ВВод Пароля
   //Выбор меню
   rDown(72,66)
   waitms(120 + $S_CORR)
   rUp(72,66)
   // Выбор ВСТАВИТЬ
   WAITMS(500)
   lDown(117,131)
   waitms(97 + $S_CORR)
   lUp(117,131)
   //Нажание Enter
   WAITMS(500)
   keyDown(13)
   waitms(45 + $S_CORR)
   keyUp(13)
   WAIT(1)
   // Ввод команды 1
   TOCLIP("cd\flashdisk\soft") // В буфер КОМАНДА 1
   //Выбор меню
   rDown(72,66)
   waitms(120 + $S_CORR)
   rUp(72,66)
   // Выбор ВСТАВИТЬ
   WAITMS(500)
   lDown(117,131)
   waitms(97 + $S_CORR)
   lUp(117,131)
   //Нажание Enter
   WAITMS(500)
   keyDown(13)
   waitms(45 + $S_CORR)
   keyUp(13)
   WAIT(1)
   // Ввод команды 1
   TOCLIP("runlevel 0")//В буфер КОМАНДА 2
   //Выбор меню
   rDown(72,66)
   waitms(120 + $S_CORR)
   rUp(72,66)
   // Выбор ВСТАВИТЬ
   WAITMS(500)
   lDown(117,131)
   waitms(97 + $S_CORR)
   lUp(117,131)
   //Нажание Enter
   WAITMS(500)
   keyDown(13)
   waitms(45 + $S_CORR)
   keyUp(13)
  WAIT(1) 
   
   
END_IF
// Закрыть Telnet
  lDown(786,2)
waitms(183 + $S_CORR)
  lUp(786,2)
// 
HALT

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

10
Большое спасибо!
Попробую Ваш вариант. Я предварительно выставитл в винде раскладку английскую.
И начал вводить данные через буфер обмена.

11
Осталась одна проблема.
Как развернуть на весь Экран программу ТЕЛНЕТ или любую другую?

12
Нашел вариант решения. Кому понадобится выкладываю.


Code: [Select]
// Запуск Телнет на  192.168.127.1
EXECUTE("telnet:192.168.127.1")
WAIT(3)//Ждем чтобы программа полность запустился.
//Запись в буфер ЛОГИНА и Пароля
TOCLIP("admin")
// Ввод ЛОГИНА из буфера памяти
lDown(251,154)
waitms(256 + $S_CORR)
lUp(251,154)
waitms(1335 + $S_CORR)
rDown(251,154)
waitms(216 + $S_CORR)
rUp(251,154)
WAITMS(500)
lDown(289,208)
waitms(169 + $S_CORR)
lUp(289,208)
waitms(559 + $S_CORR)
move(289,209)
waitms(1280 + $S_CORR)
keyDown(13)
waitms(207 + $S_CORR)
keyUp(13)
waitms(1754 + $S_CORR)
// Конец Ввод ЛОГИНА из буфера памяти
WAIT(1)
// Ввод ПАРОЛЯ из буфера памяти
lDown(251,154)
waitms(256 + $S_CORR)
lUp(251,154)
waitms(1335 + $S_CORR)
rDown(251,154)
waitms(216 + $S_CORR)
rUp(251,154)
WAITMS(500)
lDown(289,208)
waitms(169 + $S_CORR)
lUp(289,208)
waitms(559 + $S_CORR)
move(289,209)
waitms(1280 + $S_CORR)
keyDown(13)
waitms(207 + $S_CORR)
keyUp(13)
waitms(1754 + $S_CORR)
// Конец Ввод ПАРОЛЯ из буфера памяти
WAIT(1)
//Запись в буфер КОМАНДЫ 1
TOCLIP("cd\flashdisk\soft")
// Ввод КОМАНДЫ 1 из буфера памяти
lDown(251,154)
waitms(256 + $S_CORR)
lUp(251,154)
waitms(1335 + $S_CORR)
rDown(251,154)
waitms(216 + $S_CORR)
rUp(251,154)
WAITMS(500)
lDown(289,208)
waitms(169 + $S_CORR)
lUp(289,208)
waitms(559 + $S_CORR)
move(289,209)
waitms(1280 + $S_CORR)
keyDown(13)
waitms(207 + $S_CORR)
keyUp(13)
waitms(1754 + $S_CORR)
//Конец Ввод КОМАНДЫ 2 из буфера памяти
WAIT(1)
//Запись в буфер КОМАНДЫ 2
TOCLIP("runlevel 0")
// Ввод КОМАНДЫ 2 из буфера памяти
lDown(251,154)
waitms(256 + $S_CORR)
lUp(251,154)
waitms(1335 + $S_CORR)
rDown(251,154)
waitms(216 + $S_CORR)
rUp(251,154)
WAITMS(500)
lDown(289,208)
waitms(169 + $S_CORR)
lUp(289,208)
waitms(559 + $S_CORR)
move(289,209)
waitms(1280 + $S_CORR)
keyDown(13)
waitms(207 + $S_CORR)
keyUp(13)
waitms(1754 + $S_CORR)
//Конец Ввод КОМАНДЫ 2 из буфера памяти
HALT



13
Помогите сделать скрипт для  telnet.
Задача:
1. Запустить telnet с подключением по адресу 192.168.127.1
2. В telnet вести логин и пароль admin
3. В telnet вести команду cd\flashdisk\soft и нажать Enter
4. В telnet вести команду runlevel 0 и нажать Enter
5. Подождать выполнение и закрыть telnet

Мои варианты решения:
Способ 1.
Просто запись действий мышки и клавиатуры.
После записи и запуска скрипта, получил выполнения только запустка telnet с подключением по адресу 192.168.127.1 Использовал команду WIR+R и нажатие на выполнение записной ранее строки telnet:192.168.127.1
В открывшемся окне telnet не чего не происходит! Команды ввода логина, пароля и команд не происходит!
Пробовал проверить этот момент на блокноте, что бы видеть набор текста. Там  все работает нормально, текст набирается.
Пробую снова в telnet, не вводится логин, пароль и команды.

Способ 2.
Написал скрипт с командами:
1. EXECUTE("notepad.exe:192.168.127.1")
2. WAITMS(500)
3. KEYSTRING("admin", 20)
4. KEYPRESS(#ENTER)
5. WAITMS(500)
6. KEYSTRING("admin", 20)
7. KEYPRESS(#ENTER)
8. WAITMS(500)
6. KEYSTRING("cd\flashdisk\soft", 20)
7. KEYPRESS(#ENTER)
8. WAITMS(500)
6. KEYSTRING("runlevel 0", 20)
7. KEYPRESS(#ENTER)
8.

В открывшемся окне telnet не чего не происходит! Команды ввода логина, пароля и команд не происходит!
Пробовал проверить этот момент на блокноте, что бы видеть набор текста. Там  все работает нормально, текст набирается.
Пробую снова в telnet, не вводится логин, пароль и команды.

Способ 3.
Пробовал записать все нужные команды в текстовый файл блокнота и вводить в telnet через Копировать и Вставить.
Получается вводить  логина, пароля и команд в telnet и все работает.
Самый рабочий вариант.
Но, нужно на экране сдвигать окна telnet и текстовый файл блокнота в разные части экрана, что бы видеть работу
telnet
Не надежен в плане работы и кликания.
В идеале все как-то закинуть в буфер памяти?
Возможно ли?

Вопрос.
1. Как заставить печать логин, пароль и команды?
2. Как закрыть после выполнения всех команд telnet?
3. Как развернуть telnet или другую программу на весь экран?






14
Общие вопросы / Re: Циклы
« on: March 17, 2017, 03:39:08 PM »
Возможно можно решить по другому.
Нужен сделать цикл:
 -внутри  которого искалась на картина "БАФ" и нажималась на нее, за тем следующая картинка. (таких картинок на экране 5 штук)
- Иногда (рэндомно) на экране после нажатия картинки "БАФ" появляется окошко с призом и нужно нажать в определенное место (оно фиксисровано) клик мышкой по координатам, что бы дальше искать картинку "БАФ"
- после 5 нажатий картинки "БАФ", нужно нажать   мышкой по координатам, что бы перейти к следующими экрану в котором новые картинки "БАФ".
И так до тех пор пока не появится в определенном мест картинка "№1"
после этого конец цикла.

пробовал поиск по картинке в количестве 5 раз и переход дальше, но как выйти из цикла по картинке  непониманию.

Кто подскажет как правильно это организовать?

15
Общие вопросы / Re: Циклы
« on: March 17, 2017, 03:02:50 PM »
Мне непонятен синтаксис  написания.
В Бейсики "GOTO" это безусловный переход на любую строчку кода
Как тут не совсем я понял.

Вот пример:

1. 2
2. GOTO(1)
3. WAIT(60)
4. 1
5. GOTO(2)

Pages: [1] 2