我正在进行javascript注入,下面是我的代码。
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function sayHello() { debugger; alert('Helloooo');" + " var resume=webBrowser1.Document.GetElementByTagName('resID');" +
" var i; for (i=0;i<resume.length;i++){if (resume[i].checked){alert(\"hi....\");} } }";
head.AppendChild(scriptEl);
System.Diagnostics.Debug.Print("html: {0}",head.InnerHtml);
webBrowser1.Document.InvokeScript("sayHello");`
我的复选框名称为resID。 sayHello函数中警告后的语句未执行。这段代码的结果是,它以Hello形式发出警报并停止执行。访问复选框值时,我的代码中是否有任何错误。我
答案 0 :(得分:2)
更改线路。
var resume=webBrowser1.Document.GetElementByTagName('resID');
到
var resume=document.getElementByTagName('resID');