none
[vb2008]如何清除 WebBrowser1.Document 的資料? RRS feed

  • 問題

  • 請教前輩們我該如何清除  WebBrowser1.Document 內的資料?

    我用 WebBrowser1 .Navigate ("about:blank") 方式去清也沒辦法

    我是用 HttpWebRequest
              HttpWebResponse

    作 Post 取資料

    我的寫法片段 如下

     

      ReDim GetData(500)
    
              If WebBrowser1.Document.All.Count > 10 Then
            WebBrowser1.Navigate("about:blank")
          End If
    
    
          '
          WebBrowser1.Document.Write( _
          PostData_GetData(My649, One & one_data1 & Two & two_data2 & Three & Four & _
                           MyYear & "100" & Mouth & TextBox2.Text & Mysubmit, True))
    
    
          For Each Myweb As HtmlElement In WebBrowser1.Document.All
    
            If Myweb.TagName = "SPAN" <> Nothing Then
    
              If Myweb.GetAttribute("id") <> Nothing Then
    
                If Strings.Left(Myweb.GetAttribute("id").Normalize, 24) = "Control_history1_dlQuery" Then
                  GetData(tmp) = Myweb.OuterText
    
    
    
                  tmp += 1
                End If
    
              End If
    
            End If
    
          Next
    


    想清除 Document 內的資料都無法清除

    裡面的字串 會一直累加上去

     

     

    2012年1月26日 上午 09:03

解答

  • 感謝回復

    我都沒寫任何的thread 跟 timer

    就很單純的 WebBrowser1.Document.Write

    不過我網路上終於找到解答了

     

    用關鍵字 "WebBrowser1.Document.Write Clean"

    就找到這個網址

    http://bytes.com/topic/c-sharp/answers/593858-clearing-webbrowser-control

     

    裡面有個方式

    OpenNew(true) 就解決了

    感謝各位的回覆

    • 已標示為解答 白楓林 2012年1月28日 上午 03:01
    2012年1月28日 上午 03:01

所有回覆

  • 試試看

    WebBrowser1.DocumentText = ""

    合不合用


    2012年1月26日 下午 02:24
  • 還是不能用 ,一樣會附加上去

     

    2012年1月26日 下午 02:29
  • WebBrowser.Navigate "blank"
    2012年1月27日 上午 05:07
  • tihs 前輩, 我嘗試你的方式還是一樣

    無法清除裡面的資料

    我 PostData 的副程式  如下

     

    Public Function PostData_GetData(ByRef URL As String, ByRef POST As String, Optional ByVal UTF8 As Boolean = False) As String
        MyStrText = Nothing
    
    
        Dim MyHttpRequest As HttpWebRequest
        Dim MyHttpResponse As HttpWebResponse
        Dim MyReqStream As Stream
        Dim PostBytes As Byte()
    
        Dim MySR As IO.StreamReader
    
        Try
    
        
    
        
          MyHttpRequest = HttpWebRequest.Create(URL)
    
          MyHttpRequest.Method = "POST"
          MyHttpRequest.KeepAlive = True
    
          MyHttpRequest.Timeout = 30000
          MyHttpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322"
          MyHttpRequest.ContentType = "application/x-www-form-urlencoded"
    
          MyHttpRequest.ServicePoint.Expect100Continue = False
          PostBytes = Encoding.ASCII.GetBytes(POST)
    
          MyHttpRequest.ContentLength = PostBytes.Length
    
          MyReqStream = MyHttpRequest.GetRequestStream
          MyReqStream.Write(PostBytes, 0, PostBytes.Length)
    
          MyReqStream.Flush()
          MyReqStream.Close()
    
    
          MyHttpResponse = MyHttpRequest.GetResponse()
    
    
    
    
          If UTF8 = True Then
    
            MySR = New StreamReader(MyHttpResponse.GetResponseStream, Encoding.UTF8)
          Else
            MySR = New StreamReader(MyHttpResponse.GetResponseStream, Encoding.Default)
          End If
    
    
          MyStrText = MySR.ReadToEnd
    
          Label1.Text = MyHttpResponse.StatusCode.ToString
    
          MyHttpResponse.Close()
    
    
          Return MyStrText
    
        Catch ex As WebException
          MsgBox(ex.ToString)
    
        End Try
    
    
      End Function
    

     


    是否 是post 問題呢?

     


    • 已編輯 白楓林 2012年1月27日 上午 07:11
    2012年1月27日 上午 07:10
  • 這樣看下來似乎跟WebBrowser1.Document 無關

    請問是誰哪個事件觸發   WebBrowser1.Document.Write()這個動作? 有寫Timer、Thread嗎?

    有的話看能不能先把上述觸發者停掉,再用

    WebBrowser1.Navigate("about:blank") 或 WebBrowser1.DocumentText = "" 試試看

     

     

     


    2012年1月27日 上午 08:05
  • 感謝回復

    我都沒寫任何的thread 跟 timer

    就很單純的 WebBrowser1.Document.Write

    不過我網路上終於找到解答了

     

    用關鍵字 "WebBrowser1.Document.Write Clean"

    就找到這個網址

    http://bytes.com/topic/c-sharp/answers/593858-clearing-webbrowser-control

     

    裡面有個方式

    OpenNew(true) 就解決了

    感謝各位的回覆

    • 已標示為解答 白楓林 2012年1月28日 上午 03:01
    2012年1月28日 上午 03:01