Содержит ли WebBrowser.DocumentText весь текст документа в рамке? - PullRequest
0 голосов
/ 22 марта 2012

Я не уверен, содержит ли WebBrowser.DocumentText только верхний источник документа или текст документа с фреймами. Не удалось найти это со страницы MSDN .

1 Ответ

0 голосов
/ 23 марта 2012

Нет, это не так. Я попробовал следующее:

DocumentText:

File.WriteAllText(@"C:\doc.txt", webBrowser1.DocumentText, Encoding.UTF8);

GetElementsByTagName ( "HTML")

HtmlElement elem;
if (webBrowser1.Document != null)
{
    HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("HTML");
    if (elems.Count == 1)
    {
        elem = elems[0];
        string pageSource = elem.OuterHtml;
        File.WriteAllText(@"C:\doc.txt", pageSource, Encoding.UTF8);
    }
}

IOleCommandTarget

public void ShowSource()
{
    IOleCommandTarget cmdt = null;
    object o = null;
    object oIE = null;
    try {
            cmdt = (IOleCommandTarget)this.Document.DomDocument;
            cmdt.Exec(cmdGUID, oCommands.ViewSource, 1, o, o);
    } catch (Exception ex) {
            throw new Exception(ex.Message.ToString(), ex.InnerException);
    } finally {
            cmdt = null;
    }
}

Единственный способ - просмотреть все фреймовые документы.

Обновлено Если у iframe другой URL, вы получите UnauthorizedAccessException при попытке получить документ iframe

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