29. januar 2007 - 09:15Der er
15 kommentarer og 1 løsning
Script der kan udfylde felter automatisk
Hej. Jeg er ved at lave en opgave hvor en hjemmeside loades i en browser. Når siden er loadet har jeg behov for at login feltet bliver udfyldt automatisk, da brugeren arbejder med en touchskærm uden tastatur. Så der kun skal trykkes på login knappen.
Kan man lave og afvikle et script på sin maskine der udfylder felterne. Jeg kan rette i kildekoden, så feltet er udfyldt, men når jeg loader den(falske side), vil serveren ikke acceptere siden.. Nogen gode ideer? Vh flyver 23
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Jeg ved ikke helt om jeg misforstår noget, men kan du ikke bare bruge value="xxx"? Det burde da give det samme resultat som at lade et javscript eller lignende skrive ind :)
Siden der loades er ikke en jeg har lavet. Det er login til et informationssystem, som kræver login. Når jeg skriver kildekoden, mente jeg kildeteksten fra explorer, som er tilgængelig efter at siden er loadet.
Det er ikke muligt at gemme oplysningerne, da applikationen åbnes i en webbrowser som jeg selv har lavet i C#, for at undgå alle explorers genveje og andre muligheder. Brugeren må kun få adgang til denne bestemte hjemmeside. Så et skærmtastatur der kun er tilgængeligt i en kort periode kunne være en løsning.
Synes godt om
Slettet bruger
29. januar 2007 - 10:11#6
Når det er en browser i C# kan du bruge DOM reference til at udfylde felterne.
Jeg er ikke inde i C#, men du kan prøve med noget i retning af:
hvor browser = dit webbrowserobject "UserId" = Name attributten på input-elementet for username "Password" = Name attributten på input-elementet for password
Jeps kvadratrodenaf1. Den ide er rigtig fin. Dog ser koden ikke lige ud til at virke med det samme. Kan ikke skrive . efter ("userID") Æv... Skal lave det på en anden måde. Jeg søger lidt. Nu er jeg kommet lidt videre. Hvis nogen har fået det til at virke vil jeg gerne se et eksempel.
Så kan jeg udfylde tekstfelterne med nedenstående kode.
HtmlElementCollection elementer; elementer = webBrowser1.Document.All; foreach (HtmlElement h in elementer) { if (h.Name == "login_username") { h.InnerText = "mitusername"; } if (h.Name == "secretkey") { h.InnerText = "minkode"; } } Nogen der har ide til at aktivere "login" knappen/funktionen? Vh flyver23
Synes godt om
Slettet bruger
29. januar 2007 - 13:07#9
Jeg kan bruge .click, når jeg laver det i VB.
Forudsat submitknappen kommer efter inputfelterne.
Du skal huske at teste på readystate - ellers vil siden ikke være hentet når scriptet bliver kørt, hvis serveren er belastet.
elementer = webBrowser1.Document.All; foreach (HtmlElement h in elementer) { if (h.Name == "login_username") { h.InnerText = "mitusername"; } if (h.Name == "secretkey") { h.InnerText = "minkode"; } if (h.Name == "login") { h.click; } }
- men når IE forhåbentlig inden alt for længe begynder at understøtte XHTML, kan du hverken bruge 'Document.All' eller 'InnerText' - så det ville nok være mere fremtidssikret at bruge 'document.getElementById' og ligeledes standardiseret DOM til at indsætte tekst med ;o)
/mvh </bole>
Synes godt om
Slettet bruger
30. januar 2007 - 08:06#13
vel snarere getElementsByTagName, da det er formelementer.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.