使用VB提取网页中的内容,为何程序执行后TEXT框中什么都没有?(代码如下,可通过)

代码如下,请大牛指点!

Private Sub Command1_Click()
WebBrowser1.Navigate "http://www.pm2d5.com/city/beijing.html"
End Sub

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
If Text = "完成" Then
'网页读取完后执行这里
Dim DataInfo As String

'从网页中取得全部文本信息
DataInfo = WebBrowser1.Document.body.innerText

Text1.Text = DataInfo
End If
End Sub

Private Sub Command1_Click()
   WebBrowser1.Navigate "

End Sub

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
Debug.Print Text
   If Text = "完毕" Then
      '网页读取完后执行这里
      Dim DataInfo As String
      
      '从网页中取得全部文本信息
      DataInfo = WebBrowser1.Document.body.innerText
  
      Text1.Text = DataInfo
   End If
End Sub

读取完一个网页后,在调试窗口里可以看到是这样的,

TXT里没有东西说明   If Text = "完毕" Then这行代码不成立,所以不执行后面的。

如果按照你的思路,用StatusTextChange
事件,你可以改一下,如下:

Private Sub Command1_Click()
   WebBrowser1.Navigate "

End Sub

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
   If Text = "

      '网页读取完后执行这里
      Dim DataInfo As String
      
      '从网页中取得全部文本信息
      DataInfo = WebBrowser1.Document.body.innerText
  
      Text1.Text = DataInfo
   End If
End Sub

加载完之后就会看到txt里面有东西了。

我自己是习惯用DocumentComplete事件的


有问题请追问,满意请采纳!

追问

您好!您给出的第二段代码中, If Text = " 这句是不是没有写完整啊,还是我理解有误,能麻烦解释一下吗?谢谢您啦!

追答

疏忽,是没有写完整,其实上面的图片已经给出答案了。

完整代码如下:

Private Sub Command1_Click()
   WebBrowser1.Navigate "
 
End Sub
 
Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
   If Text = "http://www.pm2d5.com/"
 
      '网页读取完后执行这里
      Dim DataInfo As String
       
      '从网页中取得全部文本信息
      DataInfo = WebBrowser1.Document.body.innerText
   
      Text1.Text = DataInfo
   End If
End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-22

我试了一下,没问题吗。

第2个回答  2013-07-22
Option Explicit
Private Sub Command1_Click()
WebBrowser1.Navigate "http://www.pm2d5.com/city/beijing.html"
End Sub

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
Debug.Print Text
If Text = "完毕" Then
'网页读取完后执行这里
Dim DataInfo As String

'从网页中取得全部文本信息
DataInfo = WebBrowser1.Document.body.innerText

Text1.Text = DataInfo
End If
End Sub追问

您好!现在还有一个问题:
我现在想读获取下来的TXT的部分内容,但是追问里写不下了,能麻烦您看一下这个位置的问题吗?谢谢您的宝贵时间啦!

http://zhidao.baidu.com/question/572882935.html

本回答被提问者和网友采纳

使用VB提取网页中的内容,为何程序执行后TEXT框中什么都没有?(代码如下...
TXT里没有东西说明 If Text = "完毕" Then这行代码不成立,所以不执行后面的。如果按照你的思路,用StatusTextChange事件,你可以改一下,如下:Private Sub Command1_Click() WebBrowser1.Navigate "End SubPrivate Sub WebBrowser1_StatusTextChange(ByVal Text As String) If Text = " ...

vb运行中,为什么text显示内容不更新呢
1、代码错误:可能在代码中没有正确地更新文本框的内容。请检查代码,确保正确地使用了文本框的名称和赋值语句。例如,如果有一个名为“TextBox1”的文本框,应该使用“TextBox1.Text='新的内容'”来更新它的内容。2、线程问题:如果在一个不同的线程中更新了文本框的内容,那么由于VB的线程模型,不...

vb复制网页上文本内容到剪切板(多行),然后粘贴到文本框中自动变成不分行...
MultiLine 是编辑多行文本,true可多行文本,false不可多行文本,设置一下就好了

vb程序让输入在text中的文字显示的代码?
``首先,我们需要查看文本框能显示的字符数量,假设文本框能显示32个字符。接下来,我们将展示一段代码,这段代码用于在文本框中显示输入的字符串,并确保字符串不会超过文本框的显示限制。这段代码包含了一个名为`Command1_Click`的子程序。在该子程序中,我们首先定义了一个字符串`s`,其内容为"12...

求VB程序中让TEXT文本框中的文字移动的代码
Text1.Text = Text1.Text & i Mod 10 Next '运行完看前面出现过几次零,然后加上最后一个可以看见的数字即为文本框显示字符数 End Sub '---以上这段代码为测试文本框显示长度,编程不需要--- Private Sub Timer1_Timer()'Text1.Text = Right(Text1.Text, Len(Text1.Text) - 1) + Lef...

vb 如何修改网页里的数据,如下代码
WebBrowser1.Document.All("fid").Value = "98" all()里面的代表id属性,你用name属性肯定不行呀,给它人工添加一个id就行了 新建一个文本框 Text1 = WebBrowser1.Document.getElementById("fid").innerHTML 试一下能不能找到隐藏的id 如果找不到就添加一个:Text1 = text2= WeBbrowser1....

vb中运行程序后text中的内容如何能让它不消失
'在文本框中直接输入内容即可 Private Sub Command1_Click()Dim i As Integer Dim j As Integer Dim a As String For i = 1 To Len(Text1.Text) '查看text中的每个量'a = Mid(Text1.Text, i, 1) ' 把第i个字符赋值给a'If a = " " Then '如果a=空格'j = j + 1 End If ...

vb.net获取网页中对话框的内容
'this function returns the text of the window, used so that we can confirm that we have the right dialog window...Function GetWindowText(ByVal WindowHandle As IntPtr) As String Dim ptrRet As IntPtr Dim ptrLength As IntPtr 'get length for buffer...ptrLength = SendMessageA(...

用VB提取网页中的链接地址
获得网页中的超链接网址对一些网络编程很有用处,很多朋友都不会用,今天我就交给大家怎么才能在VB6.0中实现这个功能,首先新建一个工程,加入webbrowser和scriptlet控件(引用部件Microsoft HTMl object Library添加一个Listbox控件(用于存放读出的网址)命名为(listurl),个textbox()控件用于打开网址命名为txt...

VB中,如果文本框中没有输入东西,就点命令按钮,如何弹出对话框提示?
text1="" (清空文本框内容)text1.Setfocus (文本框获得输入焦点)end if End Sub 注意:当中的Trim()作用为去除其括号内对象内容两端的空格,最好不要省略,因为用户有可能会在该对象(如例中的文本框)内输入空格后点击命令按钮,此时,若省略了trim(),则就会得出错误的处理过程。

相似回答
大家正在搜