Kan man opdatere input type="text" på en given hjemmesiden?
Vi bruger dagligt en hjemmeside hvor vi skal indtaste navn og adresse på folk. Desværre skal vi i dag kopier data fra et programvinduer over til felterne på hjemmesiden.
Ønsket er at lave en lille c# applikation/program der kan slå navn og adresse op i vores database og så indsætte det på i de rigtige felter på en bestemt hjemmeside.
Hjemmesiden vil være åben samtidig med aplikationen, så jeg forestiller mig noget kodet i stil med
Det program I anvender benytter det sig af en ekstern database eller jeres egen? Hvis det er jeres egen database, hvorfor så ikke gøre det hele webbaseret? Den måde du vil gøre det på virker for mig lidt kringlet.
Du kan så finde dit input felt, og sætte value. Se eksempel nedenfor:
HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("input"); foreach (HtmlElement element in elements) { if (element.Name.Equals("inputName")) { element.SetAttribute("value", "inputValue"); } }
Kom lige i tanke om, at du sikkert også gerne vil "submitte" formen. Det gøres således:
HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("form"); foreach (HtmlElement element in elements) { element.InvokeMember("submit"); }
Det var lige den funktion jeg ledte efter. Super sejt gået. Jeg er blevet fint fortrolig med at udfylde input felter. Og det er heller ikke noget problem at kalde hjemmesidens [onclick] og [onchang] ved hjælp af element.InvokeMember("onclick");
Men der er opstået et nyt problem! Efter man er logget ind med brugernavn og password, åbnes den hjemmeside hvor vi taster de mange oplysninger i et nyt og almindeligt browser vindue.
Men hvordan får jeg GetElementsByTagName("input") til at arbejde i det ny-åbnede browser vindue?
Supplerende note: Når jeg er logget ind og står i det ny-åbnede vindue kan jeg i URL’en se det nøgle-ID som gør jeg har fået adgang til siden. URL’en har jeg så prøvet at sætte direkte ind som start URL i webBrowser1 og det virkede fint. Men nøgle-ID’et udløber desværre efter noget tid, så næste gang jeg starter programmet virker det ikke.
Selv tror jeg at den nemmeste må være hvis man får GetElementsByTagName("input") til at arbejde i det ny-åbnede browser vindue?
God ide men virker desværre ikke. Jeg kan ikke se i koden hvad det er der gør at et nyt vindue åbnes. Formentlig er det noget skjult javascript på den sti der kaldes i formens action="blabla"
Men alle nye ideer er meget velkommen.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.