关于IHTMLFrameCollection2的问题,急!!!!!!!!

sffshh 2005-04-15 03:56:47
最近有个任务要取一个网页上的数据,可是那个网页是用Frame做的,这还不是主要难处,主要是那个网页做了处理,如果直接打开Frame里的网页会回来主页去,而且网页加密了,我用IHTMLFrameCollection2去取数据,取来取去得不到,只能得到主页里的数据
网址是http://www.spbo.com,要得到比赛比分,大家帮帮忙啊,跪求高手了。

void CWebDlg::getFrame(IHTMLDocument2* doc, int index, CComPtr<IHTMLDocument2>& theFrame)
{
CComPtr<IHTMLDocument2> doc1 = (IHTMLDocument2*)(m_doc1.GetDocument());
CComPtr<IHTMLFramesCollection2> frames;
doc1->get_frames(&frames);
VARIANT frameRequested;
frameRequested.vt = VT_I4 ;
frameRequested.bstrVal = (BSTR)index;

VARIANT frameOut;
frames->item(&frameRequested, &frameOut);

CComPtr<IHTMLWindow2> window1;
frameOut.pdispVal->QueryInterface(IID_IHTMLWindow2, (void**)&window1);

window1->get_document(&theFrame);
}

调用

CComPtr<IHTMLDocument2> doc1 = (IHTMLDocument2*)(m_doc1.GetDocument());
CComPtr<IHTMLDocument2> pFrameDoc;
CComPtr<IHTMLElement> pElement;
CComPtr<IHTMLDocument2> pFrameDoc1;
CComPtr<IHTMLElement> pElement1;
BSTR str,s1;
CString temp,tmp;

doc1->get_body(&pElement);//取得框架内容
pElement->get_innerHTML(&str);
temp = str;
m_Show += temp;
m_Show += "\r\n■■■■■■■■■■■■■■■■■■■■■■■■\r\n";

getFrame(doc1,0,pFrameDoc);//取得下一个框架

pFrameDoc->get_body(&pElement);//取得框架内容
pElement->get_innerHTML(&str);
temp = str;
m_Show += temp;
m_Show += "\r\n■■■■■■■■■■■■■■■■■■■■■■■■\r\n";
pElement.Release();
doc1.Release();
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sffshh 2005-04-15
  • 打赏
  • 举报
回复
试了啊,可以,可是我要知道怎么做啊
happysubmit 2005-04-15
  • 打赏
  • 举报
回复
你试试这个软件
http://community.csdn.net/Expert/topic/3905/3905930.xml?temp=.2655908

用里面的“查看网页源文件”功能看看能不能正确访问你说的frame网页

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧