我試圖使用webbrowser控件自動提交表單。我使用下面的代碼提交」C#webbrowser控件(執行與表單相關的所有javascript)
currentElement.InvokeMember("submit");
現在這種方法工作得很好,但有時候一個形式可能有一些JavaScript函數,呼籲在提交時按鈕的點擊。所以我們可以說,如果一個表單有一些按鈕圖像稱爲「提交」,當用戶按下它時,調用javascript函數somefunction(),然後提交表單。
問題是當我使用上面的方法InvokeMember時,它只提交表單並且沒有' t執行相關的腳本(在這種情況下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>
OOF。你所給出的例子會在一般情況下解決這個問題。在你的''例子中,我假設在表單中輸入東西並按輸入也不起作用。如果瀏覽器無法識別提交按鈕,我不會給你的包裝好幾率... – sblom 2012-04-26 18:02:47
你可以模擬點擊任何東西,但你不能確定這個行動,最終會做一個提交。因此,問題的答案是「我有任何提交表單的方式,它會自動運行所有關聯的JavaScript?」是的,只要你知道在哪裏點擊。 – 2012-04-27 12:47:58