ÇözümPark'a hoş geldiniz. Oturum Aç | Üye Ol
 
Ana Sayfa Makale Video Forum Resimler Dosyalar Etkinlik Hizmetlerimiz Biz Kimiz

vb.net HTML'den TABLE okumak

Son Mesajınız 08-04-2018, 15:56 Birol Aydugan tarafından gönderildi. 4 yanıt.
Mesajları Sırala: Önceki Sonraki
  •  08-03-2018, 15:06 534461

    vb.net HTML'den TABLE okumak

    Herkese merhaba,

    VB.net üzerinden Internetexplorer.application kullanarak bir web sayfasında ki tabloyu programın içerisine yazdırmak istiyorum.
    Program düzgün çalışıyor fakat kez sayfa içeriğini okutmak istediğimde hata veriyor. Bir türlü neden olduğunu bulamadım destek olabilir misiniz?

    Calistirdigim kod :

    Dim oIE As Object
    oIE = CreateObject("InternetExplorer.application")
    oIE.Navigate("https://www.tttxxxyyy.com/tablolar/2018_cikti.html")
    oIE.Visible = True

    Do While oIE.Busy Or oIE.ReadyState <> 4
                Application.DoEvents()
    Loop

    RichTextBox1.Clear()

    If (oIE.Document IsNot Nothing) Then
          Dim yenidoc As mshtml.IHTMLDocument = oIE.document
          Dim htmlDocument As mshtml.IHTMLDocument2 = yenidoc
          Dim allElements As mshtml.IHTMLElementCollection = htmlDocument.body.all
          Dim allInputs As mshtml.IHTMLElementCollection = allElements.tags("table")
          Dim varTable As HTMLTable
          Dim varRow As IHTMLTableRow
          For Each varTable In allInputs
              For Each varRow In varTable.rows
                  RichTextBox1.AppendText(varRow.cells(1).innertext.ToString & Environment.NewLine)
              Next varRow
          Next varTable
    Else
          MsgBox("Hata oie.document")
    End If


     

    butona 1 kez basmamda sonuçları richtextbox1 atmakta fakat 2. Kez bastığımda şu hatayı vermekte,

    System.NotSupportedException
      HResult=0x800A01B6
      İleti=HRESULT özel durum döndürdü: 0x800A01B6
      Kaynak=Microsoft.VisualBasic
     

  •  08-03-2018, 20:18 534478 Cevap 534461

    Cevap : vb.net HTML'den TABLE okumak

    nesneyi dispose yada close etmeyi dene yada BP ile incele , nerde takılıyor , XML yada dbden okumanızı tavsiye ederim.


    Birol AYDUĞAN
    Software&Database Support ENGINEER
    C # / . NET Developer
    Trainer / Instructor / Developer
    LSU / LUU / Logo Çözüm Ortağı
    admin@artibilisim.com
    www.artibilisim.com
    www.logomutabakat.net
  •  08-04-2018, 13:12 534501 Cevap 534478

    Cevap : vb.net HTML'den TABLE okumak

    Cevap için teşekkürler Birol bey fakat dispose yaptığımda şu şekle dönüştü,

    oIE = CreateObject("InternetExplorer.application")
    oIE.Navigate("https://www.sssxxxrttt.com/bbbb.html")
    oIE.Visible = True
            Do While oIE.Busy Or oIE.ReadyState <> 4
                Application.DoEvents()
            Loop

            RichTextBox1.Clear()

            If (oIE.Document IsNot Nothing) Then
                Dim yenidoc As mshtml.IHTMLDocument = oIE.document
                Dim htmlDocument As mshtml.IHTMLDocument2 = yenidoc
                Dim allElements As mshtml.IHTMLElementCollection = htmlDocument.body.all
                Dim allInputs As mshtml.IHTMLElementCollection = allElements.tags("table")


                Dim varTable As HTMLTable
                Dim varRow As IHTMLTableRow
                For Each varTable In allInputs
                    For Each varRow In varTable.rows
                        RichTextBox1.AppendText(varRow.cells(1).innertext.ToString & Environment.NewLine)
                    Next varRow
                Next varTable
                htmlDocument.close()

            Else
                MsgBox("Hata oie.document")
            End If

     

    Bu şekilde butona ilk bastığımda hatasız sutunu ekrana aliyor 2. kez bastığımda yine aynı hatayı verdi.
    BP dediğiniz tam nedir bilemiyorum biraz daha detayli bbilgi verme şansınız varmıdır bu yazılım konusunda bilgim çok giriş düzeyinde.

     

    Bu arada sadece html ciktisi alabiliyorum xmll veya db gibi şansım maalesef yok :(

  •  08-04-2018, 15:08 534504 Cevap 534501

    Cevap : vb.net HTML'den TABLE okumak

    Verdiği tam hata ;

    System.NotSupportedException
      HResult=0x800A01B6
      İleti=HRESULT özel durum döndürdü: 0x800A01B6
      Kaynak=Microsoft.VisualBasic
      StackTrace:
       konum Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
       konum Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
       konum rapor.Form1.ParseTable() C:\xxxxxxxxxxxxxxx\Form1.vb içinde: 242. satır
       konum rapor.Form1.Button6_Click(Object sender, EventArgs e) C:\xxxxxxxxxxxx\Form1.vb içinde: 220. satır
       konum System.Windows.Forms.Control.OnClick(EventArgs e)
       konum System.Windows.Forms.Button.OnClick(EventArgs e)
       konum System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       konum System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       konum System.Windows.Forms.Control.WndProc(Message& m)
       konum System.Windows.Forms.ButtonBase.WndProc(Message& m)
       konum System.Windows.Forms.Button.WndProc(Message& m)
       konum System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       konum System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       konum System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       konum System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       konum System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       konum System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       konum System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       konum Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       konum Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       konum Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       konum rapor.My.MyApplication.Main(String[] Args)  içinde: 81. satır

  •  08-04-2018, 15:56 534506 Cevap 534504

    Cevap : vb.net HTML'den TABLE okumak

    Break POINT ( hata yakalama ) 


    Birol AYDUĞAN
    Software&Database Support ENGINEER
    C # / . NET Developer
    Trainer / Instructor / Developer
    LSU / LUU / Logo Çözüm Ortağı
    admin@artibilisim.com
    www.artibilisim.com
    www.logomutabakat.net
RSS haberlerini XML olarak görüntüle