Estoy intentando enviar automáticamente el formulario usando el control del webbrowser. Estoy utilizando el código siguiente para enviar"C# webbrowser control (ejecución de todos los javascripts asociados con el formulario)
currentElement.InvokeMember("submit");
Ahora estos métodos funciona bien. Pero a veces una forma puede tener cierta función javascript que se llama el clic de botón en el momento de la presentación. Así que vamos a decir si un formulario tiene alguna imagen de botón llamada "Enviar" y cuando un usuario la presiona, se invoca una función javascript alguna función y luego se envía el formulario.
Problema es cuando uso el método anterior InvokeMember, entonces solo envía el formulario y no lo hace t ejecutar scripts asociados (en este caso somefunction()) y tengo que escribir manualmente el código
webBrowser1.Document.InvokeScript("somefunction");
Pero esto requiere que sepa de antemano si hay alguna función. ¿Hay alguna manera de enviar formulario y ejecutará automáticamente todos los javascript asociados?
Y no conozco el nombre ni la ID del botón que el usuario hace clic para enviar el formulario. Porque, en algunos casos, es posible que ni siquiera tenga ID o nombre para, p. Ej.
<span class="btn" onclick="somefunction()">
<img style="cursor:pointer" title="Submit" alt="Submit" src="http://stackoverflow.com/imagesbutton.png?2012">
<div id="s" style=""></div>
</span>
Uf. Ese ejemplo '' que diste va a hacer de esto un problema realmente difícil de resolver en el caso general. En su ejemplo '', asumo que escribir cosas en el formulario y presionar Enter tampoco funciona. Si el navegador no puede detectar el botón de enviar, no le doy buenas probabilidades a su contenedor ... – sblom
Puede simular un clic en cualquier cosa pero no puede determinar que esta acción eventualmente termine haciendo un envío. Entonces, la respuesta a la pregunta "¿Hay algún modo en que envíe el formulario y automáticamente ejecutará todos los javascript asociados?" es sí, siempre que sepa dónde hacer clic. –