Что нового

[Автоматизация] _IEBodyReadHTML возвращает 0, почему так?

Се-рё-жа

Новичок
Сообщения
13
Репутация
0
Добрый день!
У меня возникли трудности с этой функцией следующего характера. Со страницы http://zakupki.gov.ru/pgz/public/action/orders/info/common_info/show?notificationId=8067779 необходимо возвратить несколько текстовых выражений. К примеру нужно получить название электронной площадки. В планах функцией StringRegExp найти фрагмент кода (ниже) и вырезать из него.

Код:
<label class="iceOutLbl">Аукцион в электронной форме проводится на электронной площадке по следующему адресу
        </label>
    </td>
    <td class="orderInfoCol2">
           <a class="iceOutLnk" href="http://roseltorg.ru">

Для получения кода использую функцию _IEBodyReadHTML . В описании говорится, что она возвращает код HTML-документа заключённый в тегах <body> - при успешном выполнении, при ошибке возвращает 0. Так вот 0 у меня и возвращается. Я связываю это явление с тем, что страница построена скриптом. Пожалуйста подскажите как поступить! Мой код ниже.

Код:
$hWnd = WinGetHandle('[CLASS:IEFrame]')				; возвращаем дескриптор окна IE
	$oIE =_IEAttach($hWnd, 'embedded',1)				; возвращаем атрибуты активной вкладки IE
	$sUrl = _IEPropertyGet($oIE, 'locationURL')			; возвращаем адрес страницы из атрибутов активной вкладки IE в $sUrl
	MsgBox(0, '', $sUrl)

	If StringRegExp($sUrl, $eUrl, 0)=1 Then  			; поиск совпадений в строке $sUrl
		MsgBox(0, 'Сообщение', "Страница совпадает!")
		$textUrl=_IEBodyReadHTML($oIE)
		If $textUrl=0 Then
			MsgBox(0, 'Сообщение', "Текст не прочитан!")
			Exit
		EndIf
	MsgBox(0, 'Сообщение', "Текст кажется прочитан...")
	Exit
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
А что если сменить в строке
Код:
_IEBodyReadHTML($oIE)

Переменную $oIE на $sURL?
 
Автор
С

Се-рё-жа

Новичок
Сообщения
13
Репутация
0
Все равно - 0.
Код:
$textUrl=_IEBodyReadHTML($sUrl)



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

Прошу прощения, функция _IEBodyReadHTML работает. Если вывести сообщение с $textUrl, можно увидеть код страницы. Похоже $textUrl текстовая переменная и её нельзя сравнивать с числом, видимо.

Код:
$textUrl=_IEBodyReadHTML($oIE)
		If $textUrl=0 Then
			MsgBox(0, 'Текст не прочитан!', $textUrl)
			Exit
		EndIf
	MsgBox(0, 'Сообщение', "Текст прочитан")
	Exit


Что делать с темой?
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Се-рё-жа [?]
Прошу прощения, функция _IEBodyReadHTML работает. Если вывести сообщение с $textUrl, можно увидеть код страницы. Похоже $textUrl текстовая переменная и её нельзя сравнивать с числом, видимо.

Код:
MsgBox( 64, 'Sample', ( "64" = 64 ) )

Все переменные в AutoIt - Variant.

Код:
$sHtml = _IEBodyReadHTML($oIE)
If @Error Then
	Exit MsgBox( 16, '', 'Текст не прочитан!')
Else
    MsgBox(0, 'Текст прочитан', $sHtml)
EndIf
 
Верх