Чтение HTML-кода из iframe с использованием Webbrowser C # - PullRequest
5 голосов
/ 10 ноября 2010

Как читать html-код IFRAME с помощью WebBrowser?

У меня есть сайт с iframe, и после нескольких щелчков мыши в этом IFRAME открывается новый URL с некоторой частью HTML-кода.Есть ли возможность прочитать это?Когда я пытаюсь перейти () по этому URL-адресу, меня перенаправляют на главную страницу этого сайта (невозможно открыть эту ссылку дважды).

Uri IFRAME_URL = webBrowser1.Document.Window.Frames[0].Url;

Возможно, есть что-то похожее на:

Uri IFRAME_URL = webBrowser1.Document.Window.Frames[0].  ... DOCUMENTTEXT;

Ответы [ 4 ]

4 голосов
/ 10 ноября 2010

Попробуйте:

string content = webBrowser1.Document.Window.Frames[0].WindowFrameElement.InnerText;
1 голос
/ 30 июня 2012

попробовать:

строковое содержимое = webBrowser1.Document.Window.Frames [0] .Document.Body.InnerText

1 голос
/ 01 декабря 2010

Вы также можете получить различные элементы с помощью типов mshtml:

Установите ссылку на «Библиотеку объектов Microsoft HTML» в разделе «Ссылки COM».

Установите оператор using:

using mshtml;

Затем нажмите на API-интерфейс mshtml, чтобы получить исходный код:

HTMLFrameBase frame = yourWebBrowserControl.Document.GetElementById( "yourFrameId" ).DomElement as HTMLFrameBase;

Если после этой строки значение «frame» не равно нулю, с него свисает множество элементов.

0 голосов
/ 03 марта 2013

Окно управления WebBrowser может содержать более одного iframe и .net поддерживает сбор кадров, поэтому почему бы не использовать что-то вроде этого:

// Setup a string variable...
string html = string.Empty;

// webBrowser1.Document.Window.Frames gets a collection of iframes contained in the current document...
// HTMLWindow is the iterator for the Collection...
foreach (HtmlWindow frame in webBrowser1.Document.Window.Frames)
{
html += frame.Document.Body.OuterHtml;
}

Таким образом, возможно, с небольшой настройкой вы можете получить все, что вам нужноиз контейнеров iframe, которые вам нужны.

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