情况如下:我WebBrowser
在程序中使用,我想检测的是当点击一个html元素时浏览器从目标服务器下载的数据。
这就是我想要做的:
HtmlElement element = browser.GetOneElement
element.InvokeMember("click");
if(will download data from the server?)
{
//do something
}
else
{
//do other thing
}
目前,我的解决方案是设置一个标志来注意正在下载,并扩展控件,OnProgressChanged
在WebBrowser
那里将标志设置为 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
}
但我认为它不是那么好,甚至很烂。有什么建议么?