我想要获取一个frameset下的某个页面的内容,以便监视用户的操作是否正确,frame的位置不一定,有可能是多层嵌套,
如果单独打开BHO_test.html的话,就可以正常获取内容,如果是frameset下的话,就只能获取到frameset的内容,
请教各位,是我的思路有错误还是代码有问题
public void OnDocumentComplete(object pDisp, ref object URL)
{
document = (HTMLDocument)webBrowser.Document;
System.Windows.Forms.MessageBox.Show(URL.ToString());//获取每个frame的地址
if (URL.ToString().Contains("BHO_test.html"))//循环每个frame页,找到所需要的页
{
SHDocVw.IWebBrowser2 doc = pDisp as SHDocVw.IWebBrowser2;//尝试获取子frame
System.Windows.Forms.MessageBox.Show(pDisp.ToString());//弹出System._ComObject
System.Windows.Forms.MessageBox.Show(doc.LocationURL.ToString());
IHTMLElementCollection tempElement = document.getElementsByTagName("title");//获取title,弹出的是frameset的titlte
foreach (IHTMLElement title in tempElement)
{
System.Windows.Forms.MessageBox.Show(title.innerText);//始终获取的都是frameset的title
}
}
}