我正在使用WPF WebBrowser控件,我想访问一些JavaScript函数,但是存在问题。
我可以使用InvokeScript并执行browser.InvokeScript(“alert”,“Hello”); q但是如何通过ID或TAG获取元素以及如何将该元素分配给javascript var?
实施例: 使用Javascript: var elements = document.getElementsByTagName(“embed”); 元素[0] .doSomething();
C#: 怎么样?
我尝试了一切,但没有任何效果。任何人都可以帮助我:(
答案 0 :(得分: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”