1

我正在尝试在 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;
}

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

我也有切换选项卡或创建新选项卡等的方法。每个方法都是一样的。

你知道这个问题的重点是什么吗?

谢谢!!!

4

1 回答 1

1

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

等待方法几乎是正确的

private void WaitForComplete()
    {
        int elapsedSeconds = 0;

        int TimeoutSeconds = 5;
        while (browser.ReadyState != tagREADYSTATE.READYSTATE_COMPLETE && elapsedSeconds != TimeoutSeconds)
        {
            Thread.Sleep(1000);
            elapsedSeconds++;
        }
    }

它像这样对我有用。

于 2014-08-18T12:56:12.927 回答