2

我正在使用 WPF WebBrowser 控件,我想访问一些 JavaScript 函数,但存在问题。

我可以使用 InvokeScript 并执行 browser.InvokeScript("alert", "Hello");q 但是如何通过 ID 或 TAG 获取元素以及如何将该元素分配给 javascript var?

示例:Javascript:var elements = document.getElementsByTagName("embed"); 元素[0].doSomething();

C#:如何?

我尝试了一切,但没有任何效果。谁能帮我 :(

4

1 回答 1

1

很晚的答案,但如果其他人需要它:

直接 C#:http: //msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.getelementsbytagname.aspx

HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("embed");
foreach (HtmlElement elem in elems)
    {
        elem.InvokeMember("doSomething");
    }

替代方案:http: //msdn.microsoft.com/en-us/library/a0746166

基本上你应该在 JS 中创建一个函数:

var myCustomFunc = function(tagName) {
  var elements = document.getElementsByTagName(tagName); elements[0].doSomething();
}

然后从 C# 调用它

webBrowser1.Document.InvokeScript("myCustomFunc ", new String[] { "embed" });

变量“tagName”被替换为“embed”

于 2012-06-19T12:10:45.313 回答