例如:
1)在webBrowser1页面中加载index.html。
2)该页面具有以下代码:
...
<a id="activity_text" href="#" onclick="activity_editor.show();return false;">now status</a>
...
3)是否可以通过程序方式更改“现在状态”?
我是这样尝试的:
HtmlElement collH1 = document.GetElementById("activity_text");
collH1.InnerText = "new status";
但是这种方式仅在控件webBrowser1中有效。
如果然后再来浏览一下IE / Opera / FF,那什么都没有...
最佳答案
如果您正在使用System.Windows.Forms.WebBrowser:
HtmlElement collH1 = document.GetElementById("activity_text");
object obj = collH1.DomElement;
System.Reflection.MethodInfo mi = obj.GetType().GetMethod("click");
mi.Invoke(obj, new object[0]);
如果您使用的是mshtml:
HtmlElement collH1 = document.GetElementById("activity_text");
mshtml.HTMLAnchorElement el2 = (mshtml. HTMLAnchorElement)collH1.DomElement;
el2.click();
这将执行与用户单击浏览器中的链接类似的单击,我想这就是您想要完成的操作(?)。