2010-02-19 20 views

Respuesta

27

El WebBrowser control tiene un Document property, que devuelve un HtmlDocument. El HtmlDocument tiene several members que puede usar para recorrer y manipular el DOM.

Una vez que haya utilizado estos métodos para encontrar el formulario, puede usar InvokeMember para llamar al método de envío del formulario.

Si sabe que la página tiene una sola forma:

foreach (HtmlElement form in webBrowser1.Document.Forms) 
    form.InvokeMember("submit"); 

Si conoce el ID de la forma que le gustaría presentar:

HtmlElement form = webBrowser1.Document.GetElementById("FormID"); 
if (form != null) 
    form.InvokeMember("submit"); 
+3

antes de la presentación, puede rellenar el formulario así- webBrowser1.Document.GetElementById ("price1") .SetAttribute ("valor", "100"); – milkplus

+2

No solo puede, sino ** debe **: sin completar primero los campos obligatorios/obligatorios de entrada, la presentación está destinada a fallar o simplemente produce resultados no deseados/inesperados. Tenga en cuenta que el primer parámetro en 'SetAttribute()' siempre es ** "Value" ** (con las comillas). +1 – ih8ie8

0

Si sabe que la página tiene un único forma o desea que la primera forma:

HTMLDocument doc = webBrowser.Document as HTMLDocument;  
HTMLFormElement form = doc.all.OfType<HTMLFormElement>().First(); 
form.submit(); 
Cuestiones relacionadas