Что нового

Нужна помощь с функцией for...to

Trans

Знающий
Сообщения
257
Репутация
6
Ребят помогите с функцией for...to
нужно сделать переход по 200-300 ссылкам, перед и после каждого перехода идёт проверка, перешел ли по ссылке или нет.
можно конечно прописать каждый переход по ссылке таким методом
Код:
If (проверка страницы) Then
_IENavigate($IE,'site1.ru')
ElseIf (проверка страницы) Then
_IENavigate($IE,'site1.ru/chat.php')
.......
Else
MsgBox(0,'сообщение','вы сбились с маршрута')
EndIf


а хотелось бы сделать примерно так
Код:
For (Проверка($i=$s)) to $s
_IENavigate($IE,$Links)
Next

Примерно как-то так...
PS никак не мог определиться в каком разделе создать тему, с одной стороны нужно решить проблему с IE(переходом по ссылкам), но с другой стороны суть проблемы заключается в For...to
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Код:
For $i=0 to $s
If _IENavigate($IE,'site1.ru/chat.php')=0 Then MsgBox(0,'сообщение','вы сбились с маршрута')
Next
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
DarWiM, это я понял как тут работает функция, меня интересует, как сделать точку старта и точку конца функции...
проверка страниц идёт по хтмл коду, код примерно такого типа (hhr191q)
вот и надо сделать чтоб переменная $i=$s где переменная $s = hhr191q(значение постоянно меняется)...
и у функции реверснный переход по страницам (т.е. в определённое время идёт по ссылкам 1,2,3,4,5... ждёт определённое время после чего идёт обратные переход по страницам ...5,4,3,2,1)

Я так понимаю надо делать примерно таким методом
Код:
$s[0]=111
$s[1]=112
$s[2]=113

$Links[0]='google'
$Links[1]='yandex'
$Links[2]='mail'
For $i=$s to $s[2];[0] - если идёт обратный переход по страницам
_IENavigate($IE,$Links)
Next
 

darkwhite

Знающий
Сообщения
129
Репутация
5
да правильно говорят правильно поставленная задача 50 % ее решения
проверка страниц идёт по хтмл коду, код примерно такого типа (hhr191q)
не совсем понял что такой за хтмл код - откуда он берется
и почему нельзя использовать проверку ошибки самой
Код:
_IENavigate($IE,$Links)


и у функции реверснный переход по страницам (т.е. в определённое время идёт по ссылкам 1,2,3,4,5... ждёт определённое время после чего идёт обратные переход по страницам ...5,4,3,2,1)
в таком случае вряд ли подойдет
Код:
for to
скорее
Код:
while
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Ну, как понял задачу, так и...
Код:
#include <IE.au3>
#Include <File.au3>

Global $aFilePath = @ScriptDir&"\links.txt"
$s = "hhr191q"

Global $oIE = _IECreate ()

_for_to($s)

Func _for_to($checkS)

	Dim $aLinks
	_FileReadToArray($aFilePath,$aLinks)
	Local $n = $aLinks[0]

	; вперёд
	For $i=1 To $n
		If Not _IENavigate($oIE,$aLinks[$i]) Then
			$n = $i
			ExitLoop
		EndIf
		If Not StringInStr(_IEPropertyGet($oIE,"outerhtml"),$s) Then
			$n = $i
			ExitLoop
		EndIf

	Next

	; назад
	For $i=$n To 1 Step -1
		_IENavigate($oIE,$aLinks[$i])
	Next

EndFunc
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
C2H5OH, в принципе вы правильно поняли, только вот я не совсем понял...
как тогда сделать проверку по коду который на каждой странице меняется...
создавать ещё один текстовый файл или что?!


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

получается так:
переход по ссылке, затем идёт проверка кода страницы, если есть нужный текст на странице, он продолжает переходы
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Какую проверку? :shok:
Я думал ты идёшь по карте и последовательно даёшь ссылки с переходами...
Если тебе что-то надо на этой странице ещё анализировать, то можно сделать это вот тут
Код:
; вперёд
    For $i=1 To $n
        If Not _IENavigate($oIE,$aLinks[$i]) Then
            $n = $i
            ExitLoop
        EndIf
        If Not StringInStr(_IEPropertyGet($oIE,"outerhtml"),$s) Then
            $n = $i
            ExitLoop
        Else
            ; вот тут можно что-то ещё проверять в $oIE
        EndIf
    Next
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Спасибо, в целом разобрался как сделать с моём случае...
Вот надо теперь разобраться как из одного файла, брать ссылки и код проверки (hhr191q)
 
Верх