Internetexplorer总是占线

本文关键字:Internetexplorer | 更新日期: 2023-09-27 18:18:21

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

我尝试了Sleep in the Method和Wait-Method。

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

你知道这个问题的关键是什么吗?

谢谢! !

Internetexplorer总是占线

我找到解决办法了。

等待方法几乎是正确的

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

它对我来说是这样的。