Автор Тема: [Автоматизация] _IEBodyReadHTML возвращает 0, почему так?  (Прочитано 2048 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Се-рё-жа [?]

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

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

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

Код: AutoIt [Выделить]
$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


Русское сообщество AutoIt

[Автоматизация] _IEBodyReadHTML возвращает 0, почему так?
« Отправлен: Декабрь 16, 2013, 13:06:46 »

Оффлайн MnM [?]

  • SoSerious
  • Продвинутый
  • ***
  • Сообщений: 679
  • Репутация: 90
  • Пол: Мужской
  • Post-Hardcore
    • Награды
  • Версия AutoIt: 3.3.12.0
А что если сменить в строке
Код: AutoIt [Выделить]
Переменную $oIE на $sURL?

Оффлайн Се-рё-жа [?]

  • Новичок
  • *
  • Сообщений: 12

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Все равно - 0.
Код: AutoIt [Выделить]
$textUrl=_IEBodyReadHTML($sUrl)



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

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


Что делать с темой?
« Последнее редактирование: Декабрь 16, 2013, 13:48:39 от Се-рё-жа, Причина: Объединение сообщений »

Оффлайн MnM [?]

  • SoSerious
  • Продвинутый
  • ***
  • Сообщений: 679
  • Репутация: 90
  • Пол: Мужской
  • Post-Hardcore
    • Награды
  • Версия AutoIt: 3.3.12.0
Цитата: Се-рё-жа
Что делать с темой?
Укажите ее решенной
« Последнее редактирование: Декабрь 16, 2013, 14:46:41 от MnM, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: [Автоматизация] _IEBodyReadHTML возвращает 0, почему так?
« Ответ #3 Отправлен: Декабрь 16, 2013, 14:04:08 »

Оффлайн firex [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 943
  • Репутация: 203
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Се-рё-жа  [?]
Цитировать
Прошу прощения, функция _IEBodyReadHTML работает. Если вывести сообщение с $textUrl, можно увидеть код страницы. Похоже $textUrl текстовая переменная и её нельзя сравнивать с числом, видимо.

Код: AutoIt [Выделить]
MsgBox( 64, 'Sample', ( "64" = 64 ) )

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

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


Русское сообщество AutoIt

Re: [Автоматизация] _IEBodyReadHTML возвращает 0, почему так?
« Ответ #4 Отправлен: Декабрь 16, 2013, 16:22:15 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
4175 Просмотров
Последний ответ Сентябрь 28, 2009, 10:03:15
от BrAWo
4 Ответов
3310 Просмотров
Последний ответ Январь 10, 2011, 00:26:11
от `p r o x y
2 Ответов
2956 Просмотров
Последний ответ Март 05, 2013, 19:32:31
от ZlojBoter
21 Ответов
6335 Просмотров
Последний ответ Август 02, 2013, 16:12:43
от agikon
3 Ответов
1577 Просмотров
Последний ответ Ноябрь 25, 2013, 14:31:09
от WSWR
9 Ответов
3610 Просмотров
Последний ответ Декабрь 16, 2013, 01:38:58
от Garrett
0 Ответов
1113 Просмотров
Последний ответ Декабрь 14, 2013, 08:49:11
от madmasles
6 Ответов
8414 Просмотров
Последний ответ Июнь 19, 2015, 20:44:51
от Gen345
2 Ответов
575 Просмотров
Последний ответ Сентябрь 06, 2017, 11:44:46
от ra4o
1 Ответов
163 Просмотров
Последний ответ Июль 13, 2018, 19:46:32
от Tempo