例如:
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();


这将执行与用户单击浏览器中的链接类似的单击,我想这就是您想要完成的操作(?)。

10-07 21:16