Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Plocka fram info ur webbrowser

Postades av 2006-05-06 18:40:50 - Tobias Lindberg, i forum visual basic - allmänt, Tråden har 9 Kommentarer och lästs av 1192 personer

Hej!
Jag håller på med ett program som loggar in på en sida och plockar information, ändrar information m.m men nu har jag fått ett totalt tvärstopp!
Det är så att när man är inloggad på sida så använder den session, och när jag ska hämta information ur webbrowsern så fort jag problem. Det är så att jag använder en inet1 kontrol som hämter information, men den blir ej tilllåten att hämta information eftersom sidan anser att den inte är inloggad, här är den koden jag använder för detta:

Function Stallenkolla1()
Dim sChunk As String, ret As Long
Dim sTest As String
Dim iContentLenght As Long
On Error GoTo NoInet
Inet2.URL = WebBrowser2.LocationURL 'Här hämter jag sidan!
Inet2.Execute
Do While Inet2.StillExecuting = True
         DoEvents
Loop
iContentLenght = Inet2.GetHeader("Content-Length")
sChunk = Inet2.GetChunk(iContentLenght)
ret = InStr(sChunk, "STÄLLEN") ' Här letar jag efter var på sidan STÄLLEN står!
sText = Mid$(sChunk, ret + 1, 40) ' Här plockar jag all text som är 40 tecken efter ställen
MsgBox sText ' Här skriver jag ut informationen
Exit Function
NoInet:
MsgBox "Fel!"
End Function

Så jag undrar om någon vet någon annan kod som göra att man läser DIRÄKT ifrån webbrowser asså letar och plockar ut text därifrån!?


Svara

Sv: Plocka fram info ur webbrowser

Postades av 2006-05-07 13:57:39 - Tobias Lindberg

Hej!
Jag har hittat kommig på ett sätt att göra detta nu men nu har det uppståt nya problem!
Här är den koden jag använder för att plocka ut text från WebBrowser:

Dim start As Long
Dim Slut As Long

start = 1
start = InStr(start, WebBrowser1.Document.body.innerText, "STÄLLEN") + 7' Här plockar jag texten som står efter STÄLLEN
Slut = InStr(start, WebBrowser1.Document.body.innerText, vbCrLf & vbCrLf & vbCrLf)' Här bästemmer jag hur mycket text den ska plocka från sidan!
Stallen = Mid$(WebBrowser1.Document.body.innerText, start, Slut - start)' Här skriver jag ut texten

Den koden som står har ovanför fungerar mycket bra förutom 1 sak!, det är att när jag sen ska skriva ut detta till en listbox så blir det problem för då vill den inte göra "Enter" asså det vill inte lägga till en ny rad för allt!
För om jag skriver ut det i en msgbox så blir det fökjande:
Gatukök
Pizzaria
Resturang
osv,, då används enter men det blir det ej i en listbox! :/ Där blir det sånna konstiga tecken som ser ut typ såhar : ||
Så min fråga är hur gör jag en "loop" som skriver ut all text (Gatukök, Pizzaria, Resturan osv) på var sin ny rad!?

Sen har jag en till fråga, Jag undrar hur jag ska göra följande: Den texten som skrivs ut (Gatukök, Pizzaria, Resturan osv) är varsin länk typ gatukök länkar till stallen.php?id=21545 , så då undrar jag hur jag han "skriva ut" dom länkarna och spara dom i en string?


Svara

Sv:Plocka fram info ur webbrowser

Postades av 2006-05-09 17:43:00 - Tobias Lindberg

Är det inte någon som vet???


Svara

Sv: Plocka fram info ur webbrowser

Postades av 2006-05-10 00:09:23 - Mikael Bladh

Någonting sånt här skulle jag tro:

Dim asStallen() as string
Dim iCount as integer

asStallen = Split(Stallen, vbCrLf)
For iCount = 0 to UBound(asStallen)
Listbox.AddItem asStallen(iCount)
Next iCount


Svara

Sv:Plocka fram info ur webbrowser

Postades av 2006-05-10 11:07:13 - Tobias Lindberg

Tack och bugar! :)
Sen har jag en till fråga!, den lyder följande.
Hur gör jag om jag vill få reda på villken länk alla dom här ställena länkar till?
Asså som tillexempel så länkar Gatukök till stallen.php?id=21545 och pizzaria länkar kanske till stallen.php?id=22545 ,, så jag undrar hur jag gör för att hämta detta från sidan.


Svara

Sv: Plocka fram info ur webbrowser

Postades av 2006-05-11 15:50:49 - Mikael Bladh

Till att börja med måste du använda Document.body.innerHTML med "InStr" funktionerna (istället för innerText) för att få med länkarna i "
Sedan skulle du kanske kunna splita upp varje rad med hjälp av "
" (eller "").
ex. asStallen = Split(Stallen, "</a>")

Nu borde din array "asStallen" innehålla rader i följande stil:
ex. <a href="stallen.php?id=21545">Gatukök

Nu skulle du kunna splita varje rad i arrayen ytterligare en gång med hjälp av "> och använda "Replace" funktionen för att ta bort oönskad text. Säg att du vill lägga länkarna i en annan Listbox:
ex.

For iCount = 0 to UBound(asStallen)
Listbox.AddItem Split(asStallen(iCount), chr(34) & ">")(1)
Listbox2.AddItem Replace(Split(asStallen(iCount), chr(34) & ">")(0), "<a href=" & chr(34), "")
Next iCount

Nån modifiering kanske krävs beroende på hur din href sträng ser ut.


Svara

Sv:Plocka fram info ur webbrowser

Postades av 2006-05-11 20:07:33 - Tobias Lindberg

Hej!
Tack för ditt svar :)
Jag har fått denna kod att funka tills viss del:

Dim start As Long
Dim Slut As Long

    start = 1
    start = InStr(start, WebBrowser1.Document.body.innerHTML, "property.php?info=")
    Slut = InStr(start, WebBrowser1.Document.body.innerHTML, " ")
    StallenLankar = Mid$(WebBrowser1.Document.body.innerHTML, start, Slut - start)
    StallenLankar = Replace(StallenLankar, "property.php?info=0&amp;id=", "")
    StallenLankar = Replace(StallenLankar, """><IMG", "")
    MsgBox StallenLankar

Denna kod funkar så att den hämter länk id'ett tillexempel (15623)
Men hur ska jag göra för att hämta id'et från dom andra "ställena"? (det finns inget bästemet antal "ställen" utan det beror på varje användere!.. Så undrar hur jag han hämta id'et från alla dom här ställena!?


Svara

Sv: Plocka fram info ur webbrowser

Postades av 2006-05-12 01:36:27 - Mikael Bladh

Ok, men om du gör likt du gjorde i din förra kod. Hämtar allt mellan "STÄLLEN" och "vbCrLf & vbCrLf & vbCrLf", fast med innerHTML, får du då inte med rubbet, dvs alla namn och länkar?

Det du hur som helst måste hitta är något unikt som markerar vart alltihop slutar så att säga. Jag trodde att "vbCrLf & vbCrLf & vbCrLf" kunde uppfylla detta syfte.


Svara

Sv:Plocka fram info ur webbrowser

Postades av 2006-05-12 15:40:54 - Tobias Lindberg

Hej!

Det som är specielt från som känneteknar länkarna är att dom innehåller: property.php?info= så det man isåfall kan göra är väll att söka igen efter all html kod efter en texten och sen skriva ut dom eller??
för imellan ställen och "vbCrLf & vbCrLf & vbCrLf" så finns det en j*vla massa kod!
Så då undrar jag ur jag ska göra för att söka igenom och skriva ut alla länkar i en string i denna form
Länk1 &vbCrLf& Länk2 &vbCrLf& Länk3 osv..


Svara

Sv: Plocka fram info ur webbrowser

Postades av 2006-05-12 18:24:51 - Tobias Lindberg

Hej!

Jag har fått fram en lösning på mitt problem nu,, lite rörig kod men det funkar iallafall här är den:

Dim nPos As Integer
Dim test As String
Dim sLink As String

  nPos = 1
  Do Until nPos = 0
    nPos = InStr(nPos, WebBrowser1.Document.body.innerHTML, "&amp;id=")
    If nPos > 0 Then
      nPos2 = InStr(nPos, WebBrowser1.Document.body.innerHTML, " ")
      If nPos2 > 0 Then
        sLink = Mid(WebBrowser1.Document.body.innerHTML, nPos, nPos2 - nPos)
        nPos = nPos2
        'MsgBox sLink
        test = test & sLink
      End If
    End If
  Loop
  MsgBox test
  Text1 = test
  test = Replace(test, "&amp;id=", "")
  test = Replace(test, """>", vbCrLf)
  test = Replace(test, "<IMG&amp;id=", "")
  test = Replace(test, "Gatukök", "")
  test = Replace(test, "Pizzeria", "")
  test = Replace(test, "Restaurang", "")
  test = Replace(test, "H*rhus", "")
  test = Replace(test, "Bank", "")
  test = Replace(test, "Plantage", "")
  test = Replace(test, "Magasin", "")
  test = Replace(test, "Pub / Nattklubb", "")
  test = Replace(test, "<IMG", "")
  test = Replace(test, "Pub", "")
  MsgBox test
  Text1 = test

Med denna kod så lägger jag alla "id nummer" i en listbox ungefär så här:
157341
157341
123461
123461
156301
156301
Som ni ser så blir det dubletter av dom, då undrar jag hur jag ska får bort dubletterna!


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
432
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies