webbrowser 如何获取iframe框架中的源代码

yilingjingshui 2013-06-26 03:47:38
iframe打开的网页是动态的 期待高手大驾光临!!!
...全文
161 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yilingjingshui 2013-06-26
  • 打赏
  • 举报
回复
打下还在吗 C#实现MyIInternetSecurityManager返回同一个getsecurityid即可访问框架页内容以及获取源码扥等。 这个能给个例子看看吗
江湖评谈 2013-06-26
  • 打赏
  • 举报
回复
C#实现MyIInternetSecurityManager返回同一个getsecurityid即可访问框架页内容以及获取源码扥等。 c++直接重写MyIInternetSecurityManager::GetSecurityId STDMETHODIMP MyIInternetSecurityManager::GetSecurityId(LPCWSTR pwszUrl, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved) { #define MY_SECURITY_DOMAIN "file:" int cbSecurityDomain = strlen(MY_SECURITY_DOMAIN); if (*pcbSecurityId >= MAX_SIZE_SECURITY_ID) { memset(pbSecurityId, 0, *pcbSecurityId); strcpy((char*)pbSecurityId, MY_SECURITY_DOMAIN); // Last 4 bytes are <URLZONE> and then 3 zeros. pbSecurityId[ cbSecurityDomain + 1 ] = URLZONE_LOCAL_MACHINE; pbSecurityId[ cbSecurityDomain + 2 ] = 0; pbSecurityId[ cbSecurityDomain + 3 ] = 0; pbSecurityId[ cbSecurityDomain + 4 ] = 0; *pcbSecurityId = (DWORD) cbSecurityDomain + 4; // plus the 4 bytes from above. } return S_OK; } VB引用internet control和html object libray的支持,即可实现框架内部访问。 Private Function getFrames(ByVal WB As WebBrowser) As Object Dim pContainer As olelib.IOleContainer Dim pEnumerator As olelib.IEnumUnknown Dim pUnk As olelib.IUnknown Dim pBrowser As SHDocVwCtl.WebBrowser_V1 Set pContainer = WB.Object.Document If pContainer.EnumObjects(OLECONTF_EMBEDDINGS, pEnumerator) = 0 Then Set pContainer = Nothing Do While pEnumerator.Next(1, pUnk) = 0 Set pBrowser = pUnk If Err.Number = 0 Then 'Print "Frame: " & pBrowser.LocationURL If pBrowser.LocationURL = "http://www.baidu.com/" Then '可以在这里加条件判断得到指定的frame,基本可以根据url或者innerHTML中的某个关键字符 Set getFrames = pBrowser Exit Function End If End If Loop Set pEnumerator = Nothing End If End Function

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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