0
我有这段代码需要检索iframe的文档对象并将其保存在一个对象中。通过C获取iframe文档对象#
//just a wrapper object to store the document object
DocObj obj = new DocObj(HtmlDoc);
ManualResetEvent aDoneEvents = new ManualResetEvent(false);
string errorMessage = "";
Thread aThread = new Thread(() =>
{
try
{
//finding the iframe element in the current document
IHTMLElement IElem = LocatorBuilder.GetLocator(Target)
.Find(this.HTMLDoc);
obj.HTMLDoc = (IElem as HTMLIFrame).document as HTMLDocument;
}
catch (Exception e)
{
errorMessage = e.Message;
}
aDoneEvents.Set();
});
aThread.SetApartmentState(ApartmentState.STA);
aThread.IsBackground = true;
aThread.Start();
aDoneEvents.WaitOne();
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
HtmlDoc = obj.HTMLDoc;
但是当我尝试检索新的文档对象,我得到的最后一行此异常:禁用的,因为以前的功能评价 超时
功能评价。你必须继续执行,以重新启用功能评价
是你的地方设置断点和调试呢? –
不应该aDoneEvents.WaitOne();在调用aDoneEvents.Set();之前被调用? (来自线程的noob) –
您使用的是什么版本的.NET? – casperOne