【发布时间】:2010-02-21 22:26:11
【问题描述】:
我正在尝试自动化一个需要重复单击按钮的 Web 流程。当我的代码“单击”该按钮(从表单上的 WebBrowser 控件获得的 HtmlElement)时,它会将焦点带回我的应用程序,更具体地说是 WebBrowser 控件。我希望更好地自动化这个过程,以便用户可以在过程进行时做其他事情,但是如果窗口因为获得焦点而正在取消最小化自身,则不会发生这种情况。
点击相关的代码为:
HtmlElement button = Recruiter.Document.GetElementById("recruit_link");
button.InvokeMember("click");
我也尝试过 button.RaiseEvent("onclick") 并得到完全相同的结果,但焦点问题等等。
我也尝试过隐藏表单,但是当调用 InvokeMember/RaiseEvent 方法时,我正在处理的任何事情都会失去焦点,但由于表单不可见,所以焦点似乎无处可去。
关于网络浏览器的唯一非默认设置是它的 URI 被设置为我的页面并且 ScriptErrorsSuppressed 被设置为 True。
【问题讨论】:
-
C# 编程语言没有网络浏览器控件。
-
哈哈,你真有趣:System.Windows.Forms.WebBrowser
-
这在 C# 语言规范中没有定义。严格来说这个问题也和英语有关,但你也不应该用英语来标记这个问题。 C# 或英语无法帮助您解决非语言问题。
标签: c# winforms focus webbrowser-control lost-focus