如何检测 Web 浏览器是否在单击 C# 中的元素时从目标服务器下载数据

本文关键字:元素 目标 数据 下载 服务器 单击 检测 何检测 Web 是否 浏览器 | 更新日期: 2023-09-27 18:33:47

情况是这样的:我在程序中使用WebBrowser,我想检测浏览器在单击目标服务器上的html元素时是否从目标服务器下载数据。

这就是我想要做的:

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

目前,我的解决方案是设置一个标志来注意正在下载,并且WebBrowser控件的扩展OnProgressChanged,将标志设置为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
}

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

如何检测 Web 浏览器是否在单击 C# 中的元素时从目标服务器下载数据

WebBrowser.IsBusy属性怎么样?