C#程序中的WatiN没有响应

C#程序中的WatiN没有响应,c#,.net,watin,C#,.net,Watin,我是新来WatiN的,但是做了一些申请,而且非常好。问题是我的程序在执行某些web操作时没有响应 以下是我的WatiN源代码: using (var ie = new IE()) { StreamWriter wr = new StreamWriter(textBox1.Text+".txt"); ie.GoTo("http://twitter.com/"+textBox1.Text+"/followers"); string dm1 = ie.Body.Parent

我是新来WatiN的,但是做了一些申请,而且非常好。问题是我的程序在执行某些web操作时没有响应

以下是我的WatiN源代码:

using (var ie = new IE())
{
    StreamWriter wr = new StreamWriter(textBox1.Text+".txt");

    ie.GoTo("http://twitter.com/"+textBox1.Text+"/followers");

    string dm1 = ie.Body.Parent.OuterHtml;

    Match match1 = Regex.Match(dm1, "(?<=<strong>).*?(?=</strong> Followers)");
    string ck = match1.ToString();
    ck = ck.Replace(",", "");
    long check = Int64.Parse(ck);
    long n= 0;
    string pattern = "(?<=data-screen-name=\").*(?=data-name)";

    while (n <= check)
    {
        WatiN.Core.Settings.WaitUntilExistsTimeOut = 1;
        var focusme = ie.Div(Find.ByClass("stream-loading"));
        var element = focusme.NativeElement as IEElement;
        element.AsHtmlElement.scrollIntoView();

        string dm = ie.Body.Parent.OuterHtml;
        MatchCollection matches1 = Regex.Matches(dm, pattern);
        n = matches1.Count;
        label4.Text = n.ToString();
    }
    string dom = ie.Body.Parent.OuterHtml;

    MatchCollection matches = Regex.Matches(dom, pattern);
    foreach (Match match in matches)
    {
        string usr0 = match.ToString();
        int i = usr0.IndexOf("\"");
        string usr = usr0.Substring(0, i - 1);
        wr.WriteLine(usr);
    }
    label4.Text = label4.Text + " done";

    wr.Close();
}
使用(var ie=new ie())
{
StreamWriter wr=新的StreamWriter(textBox1.Text+“.txt”);
即后藤(“http://twitter.com/“+textBox1.Text+”/followers”);
字符串dm1=ie.Body.Parent.OuterHtml;

Match match1=Regex.Match(dm1),(?关于此类问题有大量资料-这不是WatiN的问题,而是设计问题。您应该在BackgroundWorker中移动WatiN内核,以便在执行WatiN代码时UI不会挂起

还有一些指南:


关于这些问题有很多资料-这不是WatiN的问题,而是设计问题。你应该在BackgroundWorker中移动WatiN内核,这样UI在执行WatiN代码时就不会挂起

还有一些指南:


在建议任何操作之前,您是否可以执行逐步调试以查看哪条指令导致程序挂起?在建议任何操作之前,您是否可以执行逐步调试以查看哪条指令导致程序挂起?