C#SHDocvw.dll Internetexplorer总是很忙

时间:2014-08-18 07:53:09

标签: c# internet-explorer shdocvw

我试图在C#中自动化IE。我的问题是,它总是很忙。

我有一个等待方法

private void WaitForComplete()
{
    int elapsedSeconds = 0;
    bool isDocumentBusy = browser.Busy;
    int TimeoutSeconds = 5;
    while (browser.Busy && elapsedSeconds < TimeoutSeconds)
    {
        Thread.Sleep(1000);
        elapsedSeconds++;
    }
}

这是我的方法之一

public bool Forward()
{
    if (browser == null)
        return false;
    int loopCount = 10;
    while (browser.Busy && loopCount > 0)
    {
        Thread.Sleep(500);
        loopCount--;
    }

    browser.GoForward();


    return true;
}

我尝试了方法中的睡眠和等待方法。

我还有切换标签或创建新标签等的方法。 每种方法都是一样的。

你对这个问题有什么了解吗?

感谢!!!

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案。

等待方法几乎正确

private void WaitForComplete()
    {
        int elapsedSeconds = 0;

        int TimeoutSeconds = 5;
        while (browser.ReadyState != tagREADYSTATE.READYSTATE_COMPLETE && elapsedSeconds != TimeoutSeconds)
        {
            Thread.Sleep(1000);
            elapsedSeconds++;
        }
    }
这对我有用。