我目前正在尝试使用 WatiN 进行一些自动数据收集。我曾经使用 WebBrowser 控件,我这样做的方式是我声明了一个 stathread 并从那里运行它,然后使用 Browser.DocumentCompleted 我启动了一个void LoginPageLoaded
我将设置用户并通过并登录的。事情是,有了 WatiN,我正在尝试做
var th = new Thread(() =>
{
Browser browser = new IE(url);
browser.WaitForComplete();
HolyThunder hl = new HolyThunder();
l.LoginPageLoaded();
});
th.SetApartmentState(ApartmentState.STA);
th.Start();
但很明显,当我尝试在 LoginPageLoaded void 上使用浏览器实例时,它说它不知道它是什么,因为它是在线程内部声明的。当我运行 LoginPageLoaded through 时我没有这样做browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(LoginPageLoaded);
,而且我显然不能在那个 STAThread 之外声明浏览器。你认为我能做些什么来解决这个问题?
编辑 - 我失败得很糟糕......如果我在那个 STAthread 中做我需要做的一切,一切都会奏效。我现在的问题是,在 watin 中,是否有打开“webbrowser”而实际上没有 webbrowser 的可视组件?