我在网上找到这样,你们觉得怎么样,有没有更完美的方法
1 private void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e) 2 { 3 IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser.Document.DomDocument; 4 vDocument.parentWindow.execScript( 5 "function alert(str){if(str== 'zswang ')confirm(str);} ", "javaScript "); 6 7 }
我记得把WebBrowser.Document可以转为DomDocument,转换后可以访问Header部分,可以添加代码块,很久没弄,都不知道当时把代码写在哪个项目中了。
哦,对了。
foreach(var ele in wb.Document.All)好像可以找到所有标签,你可以试试能否直接注入想要的标签
@沧海一杰: 嗯,谢谢你
//遍历webBrowser里a标签 然后根据名称将事件订阅给指定名称的a标签 foreach (HtmlElement el in this.webBrowser1.Document.GetElementsByTagName("a")) { switch (el.Name) { case "saveasImage": el.Click += new HtmlElementEventHandler(WebButtonsaveas_Click); break; case "saveasFiles": el.Click += new HtmlElementEventHandler(WebButtonsaveas_Click); break; } } private void WebButtonsaveas_Click(object sender, HtmlElementEventArgs e) {}
//你可以稍加改动
您是说把我要执行的js代码加个某个a标签,然后再去点那个a标签执行我想要的代码是吗?
@yeopp: 不 你可以根据这段代码 自己扩展