Web ブラウザー コントロールを使用してフォームを自動送信しようとしています。次のコードを使用して送信しています」
currentElement.InvokeMember("submit");
これで、このメソッドは正常に機能します。ただし、フォームには、送信時にボタンをクリックすると呼び出される JavaScript 関数が含まれている場合があります。フォームに「送信」というボタン画像があり、ユーザーがそれを押すと、javascript 関数 somefunction() が呼び出され、フォームが送信されるとします。
問題は、上記のメソッド InvokeMember を使用すると、フォームが送信されるだけで、関連するスクリプト (この場合は somefunction()) が実行されず、コードを手動で作成する必要があることです。
webBrowser1.Document.InvokeScript("somefunction");
ただし、これには、何らかの機能があるかどうかを事前に知っておく必要があります。フォームを送信すると、関連するすべての JavaScript が自動的に実行されますか?
また、ユーザーがフォームを送信するためにクリックしたボタン名またはIDもわかりません。場合によっては、ID や名前がないこともあります。
<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>