LeifOlav Skrevet 25. august 2007 Del Skrevet 25. august 2007 Hvordan kan jeg få vb til å trykke på denne: <td><a href="index.php?side=bruker=myself">Automatiser</a></td> Lenke til kommentar
DglZ3r0 Skrevet 25. august 2007 Del Skrevet 25. august 2007 I VB6 er d: wb.document.all("automatiser").Click Viss automatiser = navn på knapp wb = Webbrowser Lenke til kommentar
LeifOlav Skrevet 25. august 2007 Forfatter Del Skrevet 25. august 2007 I VB6 er d: wb.document.all("automatiser").Click Viss automatiser = navn på knapp wb = Webbrowser 9359714[/snapback] Tror ikke det vil virke pga. det ikke er en "direkte" knapp. Kan prøve Lenke til kommentar
DglZ3r0 Skrevet 25. august 2007 Del Skrevet 25. august 2007 kan du sende link til siden? Lenke til kommentar
LeifOlav Skrevet 25. august 2007 Forfatter Del Skrevet 25. august 2007 (endret) Forestill deg du skal trykke på denne linken ved hjelp av vb 2005: http://www.sol.no hva ville du da gjort? Hva om "linken" hadde ett annet navn enn det som stod på linken da? Endret 25. august 2007 av LeifOlav Lenke til kommentar
DglZ3r0 Skrevet 25. august 2007 Del Skrevet 25. august 2007 (endret) da ville jeg skreve: wb.navigate "http://www.sol.no" Endret 25. august 2007 av DglZ3r0 Lenke til kommentar
LeifOlav Skrevet 25. august 2007 Forfatter Del Skrevet 25. august 2007 (endret) Jaja, jeg er jo ikke helt noob da. Du forstår ikke hva jeg mener. Er så dårlig til å forklare hva jeg mener, men det jeg vil frem til er at den "linken/knappen" man trykker på "skjuler" en link til noe annet, som kan variere. Men jeg vil at ved å trykke på "linken/knappen" så skal den navigere til den "skjulte linken" - som kan variere. Endret 25. august 2007 av LeifOlav Lenke til kommentar
aadnk Skrevet 26. august 2007 Del Skrevet 26. august 2007 Se i HTML-treet og bruk DOM til å navigere deg frem til det riktige Link-elementet. Bruk dernest GetAttribute("href") til å hente ut URL-en og naviger til dette området via navigate. Lenke til kommentar
Spenzer Skrevet 26. august 2007 Del Skrevet 26. august 2007 I VB6 er d: wb.document.all("automatiser").Click Viss automatiser = navn på knapp wb = Webbrowser 9359714[/snapback] Du DglZ3r0 jeg forslår at du ikke prater om ting du ikke vet jeg wb.document.all("automatiser").Click = FEIL det er om det er en knapp som skal har navnet automatiser, dette var ikke snakk om en knapp, dette var en tekst som var linka videre mot en annen side. Lenke til kommentar
tehextinct Skrevet 30. august 2007 Del Skrevet 30. august 2007 Se i HTML-treet og bruk DOM til å navigere deg frem til det riktige Link-elementet. Bruk dernest GetAttribute("href") til å hente ut URL-en og naviger til dette området via navigate. 9360905[/snapback] Hvordan gjør man det? Lenke til kommentar
aadnk Skrevet 30. august 2007 Del Skrevet 30. august 2007 (endret) Hvordan gjør man det? 9391158[/snapback] Rent teknisk varierer dette fra dokument til dokument, men generelt sett kan man bruke flere metoder. Ettersom du har unnlatt å spesifisere nettsiden (nm-bot?), kan vi eksempelvis ta utgangspunkt i følgende HTML-dokument. Bemerk, dette forutsetter at du allerede er kjent med slike markeringspråk. Klikk for å se/fjerne innholdet nedenfor <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Testdokument</title> </head> <body> <ul id="meny"> <li id="main"><a href="hovedside.html">Hovedside</a></li> <li id="program"><a href="index.php?side=bruker=myself">Automatiser</a></li> <li id="faq"><a href="faq.html">Spørsmål og svar</a></li> </ul> </body> </html> Når denne filen åpnes i nettleserkontrollen, kan en få tilgang til ulike representasjoner av informasjonen, blant annet via WebBrowser1.DocumentText (som returnerer råmaterialet overfor) og WebBrowser1.Document. Sistnevnte inneholder et DOM-objekt (Document Object Model), og er trolig den mest hensiktsmessige fremgangsmåten når en benytter et objektorientert programmeringsspråk. Det blir muligens litt mye terminologi nå, men en kan likegjerne lære det først som sist. I DOM-oppsettet beskrives dokumentet ovenfor med datastrukturen tre som er en hierarkisk modell (lik en graf) der hvert element/node er knyttet til andre elementer, hvor elementer innunder elementet X kalles barn og elementer over X kalles forelder/foreldre. Likså i et tre finner en én node som begynner dokumentet og ikke har noen foreldre (roten), vanlige greiner (både foreldre og barn) samt blader (som ikke besitter noen barn). Før vi begynner, må vi konstatere hva vi faktisk er ute etter. I dette eksempelet vil vi forsøke å finne lenken som inneholder URI-en index.php?side=bruker=myself og/eller og teksten Automatiser. I treet er dette elementet barn av html, body, ul og li (den andre). Vi kan bruke denne informasjonen til å finne elementet vi er ute etter. Den første fremgangsmåten er å "navigere" seg frem til objektet via stien jeg nevnte ovenfor - en går altså fra roten og nedover en bestemt retning til en finner a-elementet. I VB kan dette gjøres på følgende OOP-måte: ' html -> body -> ul (første) -> li (nummer 2) -> a (første)Dim Link As HtmlElement = WebBrowser1.Document.Body.GetElementsByTagName("ul")(0). _ GetElementsByTagName("li")(1).GetElementsByTagName("a")(0) Om en har tilgang til det, er også XPath en mulighet (men jeg lar det ligge nå, ettersom kontrollen i VB.NET ikke støtter det direkte). En annen, muligens enklere metodikk, er å SØKE etter elementet via den informasjon vi allerede innehar, så som type og innhold, og ikke (bare) lokalisasjon. Da kan vi anvende en FOR EACH-løkke: Dim Link As HtmlElement ' Gå gjennom alle LINK-elementer (kan utvides ved å bruke .All) For Each Link In WebBrowser1.Document.Links ' Bruk tekstinnhold til å finne elementet (fjern en av disse) If Link.InnerText.ToLower = "automatiser" Then Exit For End If ' Bruk attributtinnhold (fjern en av disse) If Link.GetAttribute("href").ToLower.StartsWith("index.php?side=bruker") Then Exit For ' Vi er ferdige End If Next Når du så endelig ender opp med det riktige elementet, kan du navigere til nettstedet ved hjelp av NAVIGATE-metoden: WebBrowser1.Navigate(Link.GetAttribute("href")) Lykke til! Endret 30. august 2007 av aadnk Lenke til kommentar
Jolo Skrevet 31. august 2007 Del Skrevet 31. august 2007 Veldig bra beskrevet. Nå blir det bot til mafaNo også gitt. Lenke til kommentar
Merko Skrevet 1. september 2007 Del Skrevet 1. september 2007 Var det ikke snakk om VB 2005? Det over er vel kode til VB 6 om jeg ikke tar feil?.. men bra forklart aadnk. Lenke til kommentar
Degeim Skrevet 1. september 2007 Del Skrevet 1. september 2007 Jeg skal ikke påstå jeg har svært god peiling, men jeg synes da det ligner mistenkelig på VB.Net. Lenke til kommentar
aadnk Skrevet 1. september 2007 Del Skrevet 1. september 2007 Det er VB.NET, men ettersom jeg anvender DOM-implementasjonen til Microsoft, burde metodikken fungere tålig bra i VB6 òg. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå