none
C# WebBrowser javascript RRS feed

  • Вопрос

  • Исходные данные - С# .net 4.0
    Есть страница на сайте, которую необходимо получить именно в том виде, в каком ее видит человек после загрузки (не прокручивая страницу, без кликов и прочего). Часть страницы управляется JS скриптом. Вызов таким образом не помогает

    wb = new WebBrowser();
    wb.Navigate(linkNorm);
    wb.ScriptErrorsSuppressed = true;
    wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(w_DocumentCompleted);
    while (wb.ReadyState != WebBrowserReadyState.Complete)
    { Application.DoEvents(); }
    //wb.Document.InvokeScript("recalculateprice");
    originalText = wb.DocumentText;
    wb.Dispose();

    void w_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
           Trace.WriteLine(wb.DocumentText);
    }

    Или использовать сторонние компоненты?

    Виноват, обращаюсь к модераторам - перенесите вопрос в десктопы

    31 октября 2017 г. 18:21

Все ответы

  • Стандартные контролы .NET используют старый движок IE, не факт, что страница заработает. Для начала проверьте именно в этой версии браузера. И ещё если страница напичкана JS, не так то просто её выполнить вне браузера. Если проблема именно в движке, то можете попробовать такие варианты: один и два.

    Сделаем содержимое сообщества лучше, вместе!

    1 ноября 2017 г. 15:04
    Модератор
  • Для начала опишите в деталях что значит "не помогает". И покажите код который ожидает готовности загрузки в том числе окончания выполнения скриптов.

    This posting is provided "AS IS" with no warranties, and confers no rights.

    1 ноября 2017 г. 16:25
    Модератор