Re: [問題] webbrowser賦值問題

看板C_Sharp作者 (Shouian)時間11年前 (2012/10/03 07:40), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/3 (看更多)
: : 問題2: : : <select : : name="buyst1" class="station" : : id="buyst1" : : onFocus="console.log('user focus handler')" : : onBlur="console.log('user blur handler')" : : dojoType="dijit.form.FilteringSelect" : : autoComplete="false" : : invalidMessage="非選項資料" : : > : : <script type="text/javascript" src="../html/station.js"> </script> : : </select></td> : : 問題2的C# Code: HtmlElement element = webBrowser1.Document; : : element.SetAttribute("value", "001"); : : 我想請問, 問題1中是否該採用InvokeScript的方式去賦值? : : 問題2中, select的物件在c#中應當如何賦值!? : : 以上 : : 感謝各位版大花時間閱讀至此, 希望能不吝指教! : 目前臨時想到 直接執行javascript : webBrowser1.Navigate("javascript:function foo(){ var elOptNew = : document.createElement('option'); elOptNew.text = 'Append' ; : document.getElementById('buyst1').add(elOptNew);}foo();"); 不好意思還想請教各位版大 上一問題中已找到填寫資料的方式, 用SetAttribute("selectedindex",index) 可以將數值寫入 再用webBrowser1.Document.GetElementById("myForm").InvokeMember("submit") 提交資料 但是事後發現 他在輸入後網頁要進行加載大約0.5秒鐘後才會顯示為正確的數值 具體來講就是: 比如index選擇為20, 但是畫面上出來的數值會是index為19的結果 (這會造成我輸入的數據是錯誤的 系統會判定有問題) 要等大約0.5秒後才會變成20 中間檢查網頁狀態是interactive 我試過寫 while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) 在座Application.DoEvents嘗試等他加載完全再進行 但是依然沒辦法 看網路上有人說可以用timer 監視器進行? 我目前想法是希望用執行javascript去強制寫入正確的數值到元件內 但是對這方面不熟悉 還希望各位先進能幫忙! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.162.108.181

10/03 14:08, , 1F
判斷 目前是哪一頁網頁
10/03 14:08, 1F
文章代碼(AID): #1GQtkAzX (C_Sharp)
文章代碼(AID): #1GQtkAzX (C_Sharp)