Ich versuche, ein Stück Software zu erstellen, um mehr oder weniger automatisiert Formularausfüllungen auf einer Webseite - und ich habe beschlossen, die WebBrowser-Steuerelement in verwenden System.Windows.Forms
. Das funktioniert prima, und ich kann die Daten leicht manipulieren. DOM über webbrowser.Document
und so weiter. Doch leider die Website, die ich tue Automatisierung auf hat eine Datei hochladen, die innerhalb eines Iframe ausgeführt wird - und das ist, wo ich stecken, ich kann einfach nicht herausfinden, wie man in der Lage, Elemente innerhalb des DOM des Iframe zu manipulieren.
Im Idealfall würde ich gerne etwas wie folgt machen:
HtmlElement iframe = browser.Document.GetElementById("iframe_id");
iframe.InnerDocument.GetElementById("file_upload_input").SetAttribute("value", "myfile.txt");
Und dann natürlich das Formular innerhalb des iframe abschicken - allerdings gibt es keine InnerDocument
Attribut an HtmlElement
Soweit ich sehen kann, gibt es auch keinen Typ, den ich gefunden habe, den ich werfen kann. HtmlElement
zu, so dass ich auf das innere DOM zugreifen kann.
Wie wird das gemacht?