Что нового

[Сеть, интернет] StringRegExp и проверка методом IF ELSE

ssvih-miaa

Новичок
Сообщения
41
Репутация
0
Имеем код, суть проверка надписи на сайте и сравнение такста по средствам StringRegExp, пытаюсь по итогам данной проверки реализовать метод IF ELSE проблема в том что часть после ELSE не срабатывает, текст получаем сравнить удается и StringRegExp выдает результат...
Помогите реализовать проверку, второй день голову ломаю ...

Код:
Func fGetWork($oIE)

   _IENavigate($oIE, $fGBDomain & $fGBWork & $fWorkLinks[0]) ; Переходим на первую ссылки поиска работы

   _IELoadWait($oIE)

   Sleep(2000)

	$i = 1

	For $i = 1 To 8

     $oDivs = _IETagNameGetCollection($oIE, "div") ; Получаю колекцию div'ов со стараницы

	  For $oDiv In $oDivs

		 If $oDiv.ClassName == 'alert alert-info' Then ; Сравниваю если class у div'а такой то ->

			$text = '(?i)Извините, в данный момент нет заданий для заработка. Зайдите позже.' ; назначаю переменную с текстом для сравнения, символы с переди отбрасывают лишние теги

				$aRes = StringRegExp($oDiv.innerhtml, $text, 1)

				If @error Then ExitLoop

				   If $aRes[0] == "Извините, в данный момент нет заданий для заработка. Зайдите позже." Then

				   _IENavigate($oIE, $fGBDomain & $fGBWork & $fWorkLinks[$i])

				   _IELoadWait($oIE)

				   Sleep(2000)

				   ; Здесь начинаем проверку ссылки и выбираем сценарий для работы

				   ;fIfNotWork($oIE)
				   ConsoleWrite("Нет работы" & @LF)

				   Else

					 ConsoleWrite("Нет работы123" & @LF)

				   EndIf

		 EndIf

	  Next

   Next

EndFunc
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
А так?
Код:
$aRes = StringRegExp($oDiv.innerText, $text, 1)
 
Автор
ssvih-miaa

ssvih-miaa

Новичок
Сообщения
41
Репутация
0
Пробовал разницы нет, текст сравнивает нормально все верно, что не работает так это условия ...
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Если этот пример не работает, то выкладывайте аккаунт для проверки.
Код:
Func fGetWork($oIE)

   Local $text = '(?i)Извините, в данный момент нет заданий для заработка. Зайдите позже.'
   
   _IENavigate($oIE, $fGBDomain & $fGBWork & $fWorkLinks[0]) ; Переходим на первую ссылки поиска работы
   _IELoadWait($oIE)
   
   Sleep(2000)
   
   For $i = 1 To 8
	  
	  $oDivs = _IETagNameGetCollection($oIE, "div") ; Получаю колекцию div'ов со стараницы

      For $oDiv In $oDivs
		 If $oDiv.ClassName == 'alert alert-info' Then
			If StringRegExp($oDiv.innerText, $text, 0) Then
			   _IENavigate($oIE, $fGBDomain & $fGBWork & $fWorkLinks[$i])
			   _IELoadWait($oIE)
			   Sleep(2000)
			   ; Здесь начинаем проверку ссылки и выбираем сценарий для работы
			   ; fIfNotWork($oIE)
			   ConsoleWrite(StringFormat("Извините работы НЕТ!!!", ''))
			Else
			   ConsoleWrite(StringFormat("ЕСТЬ работа!!!", ''))
			EndIf
         EndIf
      Next
   Next
EndFunc
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
madmasles [?]
У Вас используется лишняя функция _IELoadWait($oIE).
Да, я не стал удалять, просто поправил слегка код ssvih-miaa, подумав что автору виднее. :smile:
P.S. Вообще-то, на форуме полно материала для познания основ работы с WEB, просто многие ленятся, им нужно сейчас и сразу. :smile:
 
Верх