Sto tentando di inviare automaticamente il modulo utilizzando il controllo webbrowser. Sto usando il seguente codice di presentare"Controllo del navigatore C# (esecuzione di tutti i javascript associati al modulo)
currentElement.InvokeMember("submit");
Ora questo metodo funziona bene. Ma a volte una forma possa avere qualche funzione javascript che viene chiamata sul tasto di scatto al momento della presentazione. Quindi diciamo che se un modulo ha un'immagine pulsante chiamata "Invia" e quando un utente la preme, una funzione javascript viene chiamata somefunction() e quindi viene inviato il modulo
Il problema è quando utilizzo il metodo sopra InvokeMember quindi invia solo il modulo e non esegue t eseguire script associati (in questo caso somefunction()) e devo scrivere manualmente il codice
webBrowser1.Document.InvokeScript("somefunction");
Ma questo richiede che io sappia in anticipo se c'è qualche funzione. C'è un modo per inviare il modulo e verrà eseguito automaticamente tutto il javascript associato?
E non conosco il nome o l'ID del pulsante su cui fa clic l'utente per inviare il modulo. Perché in alcuni casi potrebbe non avere nemmeno ID o nome per es.
<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>
Oof. Questo esempio di che hai dato renderà questo problema davvero difficile da risolvere nel caso generale. Nell'esempio '', presumo che scrivere articoli nel modulo e premere Immettere non funziona. Se il browser non è in grado di individuare il pulsante di invio, non dare al tuo wrapper buone probabilità ... – sblom
Puoi simulare un clic su qualsiasi cosa, ma non è possibile determinare questa azione alla fine finiscono per fare un invio. Quindi, la risposta alla domanda "C'è un modo in cui invio il modulo e verrà eseguito automaticamente tutto il javascript associato?" è sì, purché tu sappia dove cliccare. –