Что нового

[Автоматизация] Создание простого цикла

Статус
Закрыто для дальнейших ответов.

Kasol

Новичок
Сообщения
27
Репутация
0
Как зациклить,данный скрипт..Хотя скриптом это не назовёшь ) Каша наверно для вас ;D
Код:
$oIE = _IECreate('http://www.sait.com');открываем IE
$j = 0 
Dim $aLinks[$j + 1][2]
Dim $iPrice = 210
Dim $iMax = 0
$iNumTables = @extended
$oTable = _IETableGetCollection($oIE, 37)
    $aTableData = _IETableWriteToArray($oTable, 37)

$sSearch = '#' 
_ArrayDelete($aTableData, 0)

	    $oLinks = _IELinkGetCollection($oIE) 
    For $oLink In $oLinks 
        If StringInStr($oLink.innertext, $sSearch) Then 
            $j += 1;увеличиваем счетчик на 1
            ReDim $aLinks[$j + 1][2]
            $aLinks[$j][0] = $oLink.innertext
            $aLinks[$j][1] = $oLink.href
EndIf
	 Next
$aLinks[0][0] = $j
_ArrayDelete($aLinks, 0) 
For $i = 0 To UBound($aTableData) - 1
   $aTableData[$i][0] = StringFormat('%s', $aLinks[$i][1]) 
Next
_IENavigate($oIE, $aTableData[0][0]) 
 
EndIf
Next
$oForm = _IEFormGetCollection($oIE, 1) 
$oInput = _IEFormElementGetObjByName($oForm, 6) 
If $oForm = 0 Then _Perehod() 
$oInput.select() 
 _IEFormElementSetValue($oInput, $aHunt)
 _IEFormSubmit($oForm, 24) 
 Sleep(500)
 _Exit()


Func _Exit()
    _IEQuit($oIE)
    Exit
EndFunc   ;==>_Exit

Func _Perehod()
   $z = 0 
Dim $aSe[$z + 1][2]
$iNumTables = @extended
$sSearch = '[Mouse]'

	    $oSe = _IELinkGetCollection($oIE) 
    For $oLink In $oSe 
        If StringInStr($oLink.innertext, $sSearch) Then 
            $z += 1
            ReDim $aSe[$z + 1][2]
            $aSe[$z][0] = $oLink.innertext
            $aSe[$z][1] = $oLink.href
EndIf
	 Next
$aSe[0][0] = $z
_ArrayDelete($aSe, 0)

 _IENavigate($oIE, $aSe[1][1])

 Local $oForm =_IEFormGetCollection($oIE, 48)
 Local $oElement =_IEFormElementGetCollection($oForm, 12)

_IEAction($oElement, 'click')

EndFunc ;==>_Exit
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Нуу... тут можно много чего зациклить. Что конкретно? И через tidy пропускать сырец желательно перед отправкой на форумы.
 
Автор
K

Kasol

Новичок
Сообщения
27
Репутация
0
Весь данный код..
Код:
Local $oForm =_IEFormGetCollection($oIE, 48)
 Local $oElement =_IEFormElementGetCollection($oForm, 12)

_IEAction($oElement, 'click')
;тут ожидание загрузки страницы.как страница загружена,надо переходить в начало скрипта. т.е в $oIE = _IECreate('http://www.sait.com') и всё по новой 

EndFunc ;==>_Exit



Добавлено:
Сообщение автоматически объединено:

tidy В первые о таком сейчас узнал..почитаю что к чему..


Добавлено:
Сообщение автоматически объединено:

всё,задачу выполнил. oesoes Спасибо за ваш совет,очень помог :ok:


Добавлено:
Сообщение автоматически объединено:

эххх немного поспешил.Тему закрыл! Возник один вопрос
Код:
Func _pVakcina() 
	$sHTMLVAKCINA = FileRead(@ScriptDir & '\test555.txt')
	$aVakcina = StringRegExp($sHTMLVAKCINA, '(?i)Вакцина: \$([\d,]+)', 3)
	If IsArray($aVakcina) Then
		For $i = 0 To UBound($aVakcina) - 1
			
		Next
	EndIf
EndFunc   ;==>_pVakcina

Вопрос в том,как можно сделать если вакцина меньше 100 переход в функцию _Test1(). И на оборот,если вакцины больше 100 переход в функцию _Test2()..Запутался в этих функциях..
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Код:
$iVakcnina = Round( StringReplace( $aVakcina[$i], ",", "." ) )
If $iVakcnina < 100 Then
    _Test1()
Else
    _Test2()
EndIf

Вы это имели ввиду?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Kasol [?]
Возник один вопрос
Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Глобальный модератор.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Тема закрыта.
 
Статус
Закрыто для дальнейших ответов.
Верх