0

情况如下:我WebBrowser在程序中使用,我想检测的是当点击一个html元素时浏览器从目标服务器下载的数据。

这就是我想要做的:

HtmlElement element = browser.GetOneElement
element.InvokeMember("click");
if(will download data from the server?)
{
    //do something
}
else
{
    //do other thing
}

目前,我的解决方案是设置一个标志来注意正在下载,并扩展控件,OnProgressChangedWebBrowser那里将标志设置为 true。

这是代码:

    private bool _isInteractive;
    public bool IsInteractive
    {
        set 
        {
            _isInteractive = true;
        }
        get
        {
            Thread.Sleep(1000);
            return _isInteractive;
        }
    }

然后像这样使用它:

HtmlElement element = browser.GetOneElement
browser.IsInteractive = false;
element.InvokeMember("click");
if(browser.IsInteractive)
{
    //do something
}
else
{
    //do other thing
}

但我认为它不是那么好,甚至很烂。有什么建议么?

4

1 回答 1

1

房产怎么样WebBrowser.IsBusy

于 2012-05-11T08:50:00.000 回答