十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
webbrowser.document里面有属性,可以获取
上思网站建设公司创新互联,上思网站设计制作,有大型网站制作公司丰富经验。已为上思近千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的上思做网站的公司定做!
可以,照样用webbrowser.document属性,不仅可以获取还可以修改的
只能触发JS,如果要运行VB事件就要自己写解释了。
你应当先关闭文档流:
Me.WebBrowser1.Document.Close()
然后再执行清空:
Me.WebBrowser1.Navigate("about:blank")
部分代码如下:
在窗口及WebBrowser创建完以后,写此代码:
WebBrowser.OnNewWindow2:=IE1NewWindow2;
给主窗口创建一个方法:
procedure TBrowForm.IE1NewWindow2(Sender: TObject; var ppDisp: IDispatch;var Cancel: WordBool);
Var NewForm:TBrowForm;
begin
try
NewForm :=TPopBrowerForm.Create(application);
NewForm.WebBrowser.OnNewWindow2 :=IE1NewWindow2;//如果在窗口的Oncreate事件
//有此代码,此处就可以省略
ppDisp := NewForm.WebBrowser.Application;
NewForm.Show;
Cancel:=false;
except
end;
end;
你的问题应该是如何提取网页中的文字吧。下面代码可以获取所有网页源码:
Sub Main()
Dim cl As New WebClient
Dim all As String = cl.DownloadString(";ie=GBK")
Console.WriteLine(all)
Console.ReadLine()
End Sub
具体要获取某种类型的元素,可以用正则表达式。
一、通过DocumentCompleted 事件
每一次网页完成之后都后发送DocumentCompleted 事件,但是拥有多个frame时,浏览器就会发送多个DocumentCompleted事件,所以到最后也无法最终判断网页最终什么时候加载完成。
二、通过webBrowser.ReadyState
通过每一次读取webBrowser.ReadyState,如同上前面所列的一样,每一次DocumentCompleted完成之事都会置ReadyState为Complete ,所以还是无法准确判断网页是否完成准确的判断。
定义webbrowser时设置名称
dim webTab new webbrowser
webTab.Name = "webTab" '加上这句话,让Tab控件得知webbrowser这个控件
然后使用下面的代码可以实现了:
TabControl.SelectTab.Controls["webTab"].Navigate(".....")
如果你的Tab里就只有webbrowser这一个控件,也可以这样:
TabControl.SelectTab.Controls[0].Navigate(".....")