| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2483 人关注过本帖
标题:[求助]请教webbrowser怎么跳转?
取消只看楼主 加入收藏
momia
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-10-15
收藏
 问题点数:0 回复次数:2 
[求助]请教webbrowser怎么跳转?

我做了一个程序,希望它能完成以下的功能

打开一个html文档,分析里头的超级链接,根据我的需要找到符合条件的超级链接,跳转到这个超级链的网页。

我现在是分析webbrowser1.documents.links.item(i).outhtml,觉得很麻烦,而且如果是相对路径
分析起来就会出错。。。还有一些带脚本的超级链接也无法跳转。

我想是我的方法太笨了吧,是不是webbrowser里头就有这样一个方法能够在我找到这个链接的时候自动去跳转的。

我现在的程序段是这样写的:

现有的控件:
WBS1 是webbrowser控件,它的状态是已经打开了一个网址。
TextBox1 里头手工输入一小段文本
Button

我希望如果在网页中的超级链接显示的文字如果包含textbox1里头的文字,那么就跳转到那个链接的地址去。




Private Sub GoToTargetLink()
Dim strURL As String
Dim strHtml As string
Dim strName As string
Dim I As Integer
For I = 0 To WBS1.Document.Links.Count - 1
strHtml = WBS1.Document.Links.Item(I).OuterHtml
strName = WBS1.Document.Links.Item(I).OuterText

If strName.Contains(TextBox1.Text) Then
strUrl = "http" & GetInter(strHtml, "http", """") '这里把OuterHtml里头的包含http 和
'双引号中间的部分提取出来。
WBS1.Navigate(strUrl) '这里用webbrowser.navigate函数跳转。
Exit Sub '跳转成功就跳出了。
End If
Next
End Sub

'下面是自己写的 GetInter函数,把介于第一个文本中的介于,第二个文本和第三个文本之间的文本提取出来返回。

Public Function GetInter(ByVal strOrigin As String, ByVal strStart As String, ByVal strEnd As String) As String

Dim I, J As Integer
I = strOrigin.IndexOf(strStart) + strStart.Length
J = strOrigin.IndexOf(strEnd, I)
GetInter = strOrigin.Substring(I, J - I)
End Function

还有一个button1_clikc() 就是调用 GoToTargetLink() 省略了。
-----------------------------------------------

现在的问题是WBS1.Document.Links.Item(I).OuterHtml里头不一定含有 "http"字段,还有可能是javascript,也可能相对路径之类的我的程序就无能为力了。

OutHtml里头的可能性很多,编程来分析它太繁琐了,有没有别的方法实现跳转的。

有一个解决方法可能比较直接,是不是要找到超级链接控件的位置,调用WinApi用鼠标点它?
可是我不会写有没有人教教我。

请多指教啊。

[此贴子已经被作者于2007-10-25 9:40:37编辑过]

搜索更多相关主题的帖子: webbrowser 链接 网页 控件 
2007-10-23 09:16
momia
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-10-15
收藏
得分:0 

自己顶一下。


编程是业余爱好,写了程序自己用的。
2007-10-23 20:08
momia
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-10-15
收藏
得分:0 

还没有人理阿,自己再顶一下。


编程是业余爱好,写了程序自己用的。
2007-10-25 09:38
快速回复:[求助]请教webbrowser怎么跳转?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039841 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved