c # - en bedre måde at opdatere HtmlElement værdi i WebBrowser Control

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder på en simpel internet bot, der kræver gentagne gange at sende input til internettet fra multiaple browsere. Jeg synes at have et problem, der gør det muligt for internettet at opdage, at der er skrevet et input i tekstboksen, når du ændrer attributten til TextBox-elementet. Her er den problematiske del af koden:


webBrowser.Document.GetElementById("inputSession").SetAttribute("value" , "TEST ");
        webBrowser.Document.GetElementById("inputSession").Focus();
        SendKeys.SendWait("  ");


Lige nu bruger jeg SendKeys.SendWait (''); Metode med metoden HtmlElement.Focus () og den fungerer perfekt til en visbar browser


Problemet starter, når jeg gør browseren usynlig. SendKeys.SendWait (''); Metoden sender simpelthen ikke input til den tekstboks, der resulterer i, at internettet siger noget som 'Du skal udfylde denne del, før du kan afslutte'. Jeg antager, at det er et resultat af, at internettet ikke registrerer, at der var en brugerindgang der.


hvis jeg simpelthen gør det


 webBrowser.Document.GetElementById("inputSession").SetAttribute("value","TEST ");


Weben vil give 'Du skal udfylde denne del, inden du kan afslutte' massage, når jeg klikker på knappen Enter, selv når jeg tydeligt kan se indgangen i tekstboksen. betyder at der er en slags brugerindgangshændelse, som jeg skal udløse.
Hvad jeg har brug for er en bedre måde at gøre internettet klar over, at der er input i tekstboksen

Bedste reference