Соскребание исходного кода сайта не работает на VDI - PullRequest
1 голос
/ 23 апреля 2019

У меня проблема с извлечением данных с веб-сайта с использованием VBA в Citrix Virtual Desktop.

Сначала я написал свой код на локальном рабочем столе, и он работает хорошо - исходный код HTML был извлечен в ячейку вExcel.В VDI IE открывает сайт без проблем.

Код:

Sub GetBody()
Dim Body As String
the_start:

Set ObjIE = CreateObject("InternetExplorer.Application")
ObjIE.Visible = False

ObjIE.navigate ("https://pl.wikipedia.org/wiki/Wikipedia:Strona_g%C5%82%C3%B3wna")

    Do
    DoEvents

        If Err.Number <> 0 Then
            ObjIE.Quit
            Set ObjIE = Nothing
        GoTo the_start:
        End If

    Loop Until ObjIE.readyState = 4

    Body = ObjIE.document.Body.innerHTML
    Cells(1, 1).Value = Body

End Sub

Когда я пытаюсь запустить этот код в VDI, я получаю следующую ошибку:

Ошибка времени выполнения '-2147467259 (80004005)': сбой метода «Документ» объекта «IWebBrowser2».

Любые идеи, откуда появилась эта ошибка и что я должен добавить для ее успешного выполненияVDI?

1 Ответ

1 голос
/ 25 апреля 2019

Я внес некоторые изменения, упомянутые в комментариях (например, изменение бесконечного цикла и т. Д.), А также имею другие ошибки (ошибка автоматизации Вызванный объект отключился от своих клиентов). Ранее я объявил IE как объект в этомстрока ниже:

Set ObjIE = CreateObject("InternetExplorer.Application")

Решения для всех моих проблем:

Dim IE as SHDocVw.InternetExplorer
Set IE = New InternetExplorerMedium

Спасибо всем за участие в этой теме и СПАСИБО ЗА ПОМОЩЬ!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...