Re: [問題] webbrowser賦值問題
: : 問題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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):