Можно ли получить пост-ссылку на JavaScript в WebBrowser? - PullRequest
2 голосов
/ 13 марта 2012

Я пытался сделать это целую вечность, даже посмотрел на:

Элемент управления C # WebBrowser - получить элементы документа после AJAX?

Без удачи.

По сути, мне нужно взаимодействовать с элементами, которые генерируются во время выполнения, используя javascript на веб-странице.

Как вы все знаете, когда вы генерируете элемент во время выполнения с использованием javascript, он не отображается в «источнике представления» и, следовательно, не отображается при запросе WebBrowser.DocumentText.

Я уверен, что есть способ сделать это, но информации об этом нигде нет.

Может кто-нибудь сломать лед и подсказать, как это сделать?

Спасибо

1 Ответ

1 голос
/ 02 мая 2012

Если вы также управляете веб-страницей, которую просматриваете в элементе управления WebBrowser, вы можете предоставить методы JavaScript, которые возвращают то, что вам нужно, и использовать Document.InvokeScript для получения значения из метода JavaScript.

C #:

object value = this.WebBrowser1.Document.InvokeScript("getValue");

JavaScript:

function getValue() {
    var editor = iged_getById("<%=WebHtmlEditor1.ClientID %>");
    return editor.getText();
}

Если у вас нет контроля над веб-сайтом, вы можете взаимодействовать с документом веб-страницы через свойство Document, так как это объект .NET, представляющий HtmlDocument: http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.aspx

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