在VB.net的webbrowser控件中找到iframe内的链接

时间:2012-02-15 12:42:07

标签: vb.net webbrowser-control

我想在iframe中找到一个url webbrowser控件。

1)我的webbrowsercontrol opena url 2)该url里面有一个iframe 3)Iframe有一个我想用vb.net以编程方式获取的链接

3 个答案:

答案 0 :(得分:0)

在任何时候使用webBrowser1.Url.ToString()来获取当前打开链接的URL。  您可以使用webBrowser1.DocumentText获取打开URL的html代码。一旦你有html代码使用字符串操作来找到“iframe src”值。

这可能会变得很复杂,因为你不知道你需要处理的iframe是如何处理的。

答案 1 :(得分:0)

根据HtmlWindow.WindowFrameElement Property

,FRAME元素也存在一些限制
  

如果是,则无法访问FRAME元素或FRAME文档   FRAME与包含它的FRAMESET位于不同的区域。为一个   完整说明,请参阅About Cross-Frame Scripting and Security

答案 2 :(得分:0)

实际上,你需要做的只是......

Msgbox Webbrowser1.document.frames(0),getelementbyid(“linkTagId”)。href

这将显示链接的href,不用在字符串操作上浪费时间。

当然,您也可以使用for循环中的.length属性循环遍历框架和链接。

此外,有一些方法可以绕过跨框架安全问题,因为你在exe中运行代码,有在线示例,只是在没有引号的谷歌中搜索“绕过跨框架安全webbrowser控件”。 / p>

如果您需要更多帮助,我可以告诉您如何。请记住,如果父域名和iframe域名不同,跨框架内容只需要绕过(不是子域,但它们可以不同,没有问题)。

让我知道伙伴:)