Что нового

Заполнять web формы из текстового файла

AlexVong

Новичок
Сообщения
112
Репутация
1
Версия AutoIt: 3.3.8.1

Описание: Есть текстовый файл 1.txt содержащий

Код:
2222;2222885556;09 учет активов
3335;333588855;85 компл
5552;55524645456;7 552код

необходимо из этого файла заполнить поля web формы соответственно:
поле id=nnM соответсвует = '2222'
поле id=nAc соответсвует = '2222885556'
поле id=nMM соответсвует = '09 учет активов'
и так далее следующую строку в следующей форме...

Примечания: Адрес сайта предоставить не имею возможности, ибо находится он в локальной сети и не доступен из вне.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
AlexVong
Прикрепите HTML код страницы с формой.
 
Автор
A

AlexVong

Новичок
Сообщения
112
Репутация
1
Сама форма находится на странице в iframe. Не могу понять как передать значения из текстового файла в переменные?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
IE должен быть открыт на нужной вам странице с формой!
Давайте попробуем сначала так:
Код:
#include<IE.au3>
$sTitle = '' ; содержимое между тегами <title>...</title>
$oIE = _IEAttach($sTitle)
$oFrame = _IEFrameGetObjByName ($oIE, 'IfForm')
$oNNM = _IEGetObjById($oFrame, 'nnM')
$oNAC = _IEGetObjById($oFrame, 'nAc')
$oNMM = _IEGetObjById($oFrame, 'nMM')
_IEFormElementSetValue($oNNM, 'test1')
_IEFormElementSetValue($oNAC, 'test2')
_IEFormElementSetValue($oNMM, 'test3')
 
Автор
A

AlexVong

Новичок
Сообщения
112
Репутация
1
Значение 'test' вставляет!
Загвоздка теперь имено в получении переменніх из текстового файла...
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
AlexVong [?]
Загвоздка теперь имено в получении переменніх из текстового файла
Код:
#include<IE.au3>
$sTitle = '' ; содержимое между тегами <title>...</title>
$sFile = 'test.txt' ; имя фаила данных
$oIE = _IEAttach($sTitle)
$oFrame = _IEFrameGetObjByName ($oIE, 'IfForm')
$oNNM = _IEGetObjById($oFrame, 'nnM')
$oNAC = _IEGetObjById($oFrame, 'nAc')
$oNMM = _IEGetObjById($oFrame, 'nMM')
$aData = StringSplit(FileReadLine($sFile, 1), ';', 2) ; читаем 1-ю строку
_IEFormElementSetValue($oNNM, $aData[0])
_IEFormElementSetValue($oNAC, $aData[1])
_IEFormElementSetValue($oNMM, $aData[2])
 
Автор
A

AlexVong

Новичок
Сообщения
112
Репутация
1
Пробую все реализовать в цикле но постоянно возвращается только первая строка
Код:
$aData = StringSplit(FileReadLine($sFile, 1), ';', 2)
$iUb = UBound($aData)
For $i = 0 To $iUb - 1
_IEFormElementSetValue($oNNM, $aData[0])
_IEFormElementSetValue($oNAC, $aData[1])
_IEFormElementSetValue($oNMM, $aData[2])
Next
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
AlexVong [?]
Код:
$hFile = FileOpen("test.txt", 0)
If $hFile = -1 Then
    MsgBox(16, @ScriptName, "Файла нет!")
    Exit
EndIf

While 1
	$sLine = FileReadLine($hFile)
	If @error = -1 Then ExitLoop
    $aData = StringSplit($sLine, ';', 2)
	_IEFormElementSetValue($oNNM, $aData[0])
	_IEFormElementSetValue($oNAC, $aData[1])
	_IEFormElementSetValue($oNMM, $aData[2])
WEnd
 
FileClose($hFile)
 
Верх