Автор Тема: [Автоматизация] Копирование из txt и ввод в логин/пароль  (Прочитано 7277 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн marmisha [?]

  • Новичок
  • *
  • Сообщений: 41
  • Репутация: 2
  • Пол: Мужской
    • Награды
Всем доброй ночи. Начал изучать Autoit 3 дня назад и решил попробывать сделать скрипт на автологин. Получилось так:

Код: AutoIt [Выделить]
if WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
HotKeySet("{ESC}", "Terminate")
Func Terminate()
Exit 0
EndFunc
$i = 0
do
$i = $i + 1
WinWait("Lineage II","")
If Not WinActive("Lineage II","") Then WinActivate("Lineage II","")
WinWaitActive("Lineage II","")
Sleep(100)
MouseClick( "left",481,319,1,50)
Sleep(100)
MouseClick( "left",481,319,2,50)
MouseClick("left")
Send("{BacKspace}")
Sleep(200)
Send ("lexx124");Пользователь 1
MouseClick( "left",475,341,2,50)
Sleep(200)
Send ("lexx130");Пароль 1
Sleep(600)
Send("{ENTER}")
Sleep(200)
MouseClick( "left",299,87,2,50)
Sleep(200)
Send("{ENTER}{ENTER}")
Sleep(1550)
until $i = 999
 

Проблема состоит в том, что не могу понять, как задать параметры на выбор из файла login.txt первого логина, вписывание его в поле "логин" по координатам, выбор из файла pass.txt  первого пароля и вписывание в поле "пароль" так же по координатам и переход на login2/pass2 и так далее. Как видно в моем примере вписывается только 1 логин и 1 пароль. Так же хотелось бы добавить возможность продолжать перебор с последнего логина\пароля при отключении скрипта. Прошу помочь или намекнуть на решение  данной проблемы. Не судите строго, только начал изучать все возможности Autoit :)
« Последнее редактирование: Июнь 03, 2010, 14:11:00 от Kaster »

Русское сообщество AutoIt


Оффлайн Redline [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 506
  • Репутация: 369
  • Пол: Мужской
    • Награды
Код: AutoIt [Выделить]
FileReadLine ( "filehandle/filename" [, line] )


PS: пользуйся тегом AutoIT для вставки кода


Добавлено: Июнь 03, 2010, 09:42:38
хотя эта функция очень медленная.
лучше будет прочитать файлы в массивы и вставлять данные из них
Код: AutoIt [Выделить]
#include <file.au3>
_FileReadToArray(@ScriptDir & '\login.txt', $aLogins)
_FileReadToArray(@ScriptDir & '\pass.txt', $aPasswords)
For $i = 1 To $aLogins[0]
    WinWait("Lineage II","")
    If Not WinActive("Lineage II","") Then WinActivate("Lineage II","")
    WinWaitActive("Lineage II","")
    Sleep(100)
    MouseClick( "left",481,319,1,50)
    Sleep(100)
    MouseClick( "left",481,319,2,50)
    MouseClick("left")
    Send("{BacKspace}")
    Sleep(200)
    Send ($aLogins[$i]);Пользователь 1
    MouseClick( "left",475,341,2,50)
    Sleep(200)
    Send ($aPasswords[$i]);Пароль 1
    Sleep(600)
    Send("{ENTER}")
    Sleep(200)
    MouseClick( "left",299,87,2,50)
    Sleep(200)
    Send("{ENTER}{ENTER}")
    Sleep(1550)
Next

« Последнее редактирование: Июнь 03, 2010, 09:42:38 от Redline, Причина: Объединение сообщений »
Уроки по регулярным выражениям на AutoIt: RegExp

Оффлайн marmisha [?]

  • Новичок
  • *
  • Сообщений: 41

  • Автор темы
  • Репутация: 2
  • Пол: Мужской
    • Награды
Как я понял, тут
_FileReadToArray(@ScriptDir & '\login.txt', $aLogins)
_FileReadToArray(@ScriptDir & '\pass.txt', $aPasswords)
вставляю путь к файлам login.txt и pass.txt перед \, т.е.
_FileReadToArray(@ScriptDir & 'C:\Documents and Settings\ADMIN\Рабочий стол\Примеры Autoit\login.txt', $aLogins)
_FileReadToArray(@ScriptDir & 'C:\Documents and Settings\ADMIN\Рабочий стол\Примеры Autoit\pass.txt', $aPasswords)
правильно?
У меня выдает ошибку: Error: Variable used without being declared
Что я не правильно делаю? Какие значения нужно прописывать для _FileReadToArray и как прочитать файлы в массивы и вставлять данные из них?

Русское сообщество AutoIt

Re: [Автоматизация] Копирование из txt и ввод в логин/пароль
« Ответ #2 Отправлен: Июнь 03, 2010, 20:37:36 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 963
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
marmisha  [?]
Цитировать
У меня выдает ошибку: Error: Variable used without being declared
У вас не объявлены переменные. В сообщение об ошибке SciTe в консоле покажет, в какой строек они. Объявите их в начале скрипта с помощью:
Код: AutoIt [Выделить]

Скорблю и помню.




Оффлайн marmisha [?]

  • Новичок
  • *
  • Сообщений: 41

  • Автор темы
  • Репутация: 2
  • Пол: Мужской
    • Награды
Ошибка и возникает во 2 строке, т.е. _FileReadToArray(@ScriptDir & 'C:\Documents and Settings\ADMIN\Рабочий стол\Примеры Autoit\login.txt', $aLogins)
Прошу показать пример объявления переменных с помощью DIM.
И еще, что означает команда: цитата из хелпа  "@ScriptDir - Папка, содержащая текущий скрипт, без конечного обратного слэша."

Русское сообщество AutoIt

Re: [Автоматизация] Копирование из txt и ввод в логин/пароль
« Ответ #4 Отправлен: Июнь 03, 2010, 23:47:45 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
marmisha
Код: AutoIt [Выделить]
#include <File.au3>
#include <Array.au3>

Dim $aLogins, $aPasswords ;объявляем массивы
;читаем файл в массив
_FileReadToArray('C:\Documents and Settings\ADMIN\Рабочий стол\Примеры Autoit\login.txt', $aLogins)
_ArrayDisplay($aLogins) ; показываем то, что считали.

_FileReadToArray('C:\Documents and Settings\ADMIN\Рабочий стол\Примеры Autoit\pass.txt', $aPasswords)
_ArrayDisplay($aPasswords)
;...
MsgBox(0, "", @ScriptDir)

Если и скрипт, и файл находятся в одной папке, то путь к файлу можно указать так:
Код: AutoIt [Выделить]
@ScriptDir & "\login.txt"

А лучше всего почитайте справку, там очень много полезной информации. Если не знаете англ. язык, читайте сначала русскую справку, но в ней много устаревшего.
 

Оффлайн Vendor [?]

  • Новичок
  • *
  • Сообщений: 70
  • Репутация: 8
  • Пол: Мужской
    • Награды
А зачем держать логины и пароли в двух разных файлах?
Можно например создать документ вида:

login=password

Затем считать его в массив, учитывая разделитель (=)


Добавлено: Июнь 06, 2010, 07:54:50
А если этих логинов=паролей не так уж много, их и вовсе можно включить в тело скрипта, и набирать от туда же, не используя лишних функций типа
Код: AutoIt [Выделить]
и пр...
The Power Within...

Русское сообщество AutoIt

Re: [Автоматизация] Копирование из txt и ввод в логин/пароль
« Ответ #6 Отправлен: Июнь 06, 2010, 07:50:39 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
8 Ответов
7642 Просмотров
Последний ответ Октябрь 03, 2009, 19:47:59
от ZanMax
3 Ответов
3028 Просмотров
Последний ответ Март 16, 2011, 23:35:49
от CreatoR
3 Ответов
3620 Просмотров
Последний ответ Март 11, 2013, 10:09:33
от kvitnitskiy
3 Ответов
3302 Просмотров
Последний ответ Ноябрь 07, 2013, 23:38:18
от teft3lb
6 Ответов
2422 Просмотров
Последний ответ Ноябрь 04, 2015, 13:33:40
от Medic84
4 Ответов
1461 Просмотров
Последний ответ Октябрь 17, 2015, 03:27:25
от sysscrew
3 Ответов
1685 Просмотров
Последний ответ Май 23, 2017, 21:15:14
от Grell
14 Ответов
2575 Просмотров
Последний ответ Январь 26, 2018, 15:54:17
от Visors
2 Ответов
1420 Просмотров
Последний ответ Сентябрь 08, 2018, 18:56:32
от Dima1337