[转载]使用WebBrowser的记录 – 无风嗜血 – 博客园.
第一:新建一个类,用了获取WebBrowser元素的类
<span class = "com" > //需要引用 Interop.SHDocVw 和 Microsoft.mshtml</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > class </span><span class = "pln" > </span><span class = "typ" >Element</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "com" > //根据Name获取元素</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > </span><span class = "typ" >GetElement_Name</span><span class = "pun" >(</span><span class = "typ" >WebBrowser</span><span class = "pln" > wb</span><span class = "pun" >,</span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >Name</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > e </span><span class = "pun" >=</span><span class = "pln" > wb</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >All</span><span class = "pun" >[</span><span class = "typ" >Name</span><span class = "pun" >];</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > e</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //根据Id获取元素</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > </span><span class = "typ" >GetElement_Id</span><span class = "pun" >(</span><span class = "typ" >WebBrowser</span><span class = "pln" > wb</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > id</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > e </span><span class = "pun" >=</span><span class = "pln" > wb</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >GetElementById</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > e</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //根据Index获取元素</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > </span><span class = "typ" >GetElement_Index</span><span class = "pun" >(</span><span class = "typ" >WebBrowser</span><span class = "pln" > wb</span><span class = "pun" >,</span><span class = "kwd" > int </span><span class = "pln" > index</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > e </span><span class = "pun" >=</span><span class = "pln" > wb</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >All</span><span class = "pun" >[</span><span class = "pln" >index</span><span class = "pun" >];</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > e</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //获取form表单名name,返回表单</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > </span><span class = "typ" >GetElement_Form</span><span class = "pun" >(</span><span class = "typ" >WebBrowser</span><span class = "pln" > wb</span><span class = "pun" >,</span><span class = "kwd" > string </span><span class = "pln" > form_name</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > e </span><span class = "pun" >=</span><span class = "pln" > wb</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >Forms</span><span class = "pun" >[</span><span class = "pln" >form_name</span><span class = "pun" >];</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > e</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > bool </span><span class = "pln" > </span><span class = "typ" >CheckExistElement_Form</span><span class = "pun" >(</span><span class = "typ" >WebBrowser</span><span class = "pln" > wb</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > form_name</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >HtmlElement</span><span class = "pln" > e </span><span class = "pun" >=</span><span class = "pln" > wb</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >Forms</span><span class = "pun" >[</span><span class = "pln" >form_name</span><span class = "pun" >];</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >e </span><span class = "pun" >==</span><span class = "pln" > </span><span class = "kwd" > null </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "kwd" > false </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > else </span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //设置元素value属性的值</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > void </span><span class = "pln" > </span><span class = "typ" >Write_value</span><span class = "pun" >(</span><span class = "typ" >HtmlElement</span><span class = "pln" > e</span><span class = "pun" >,</span><span class = "kwd" > string </span><span class = "pln" > value</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > e</span><span class = "pun" >.</span><span class = "typ" >SetAttribute</span><span class = "pun" >(</span><span class = "str" > "value" </span><span class = "pun" >,</span><span class = "pln" > value</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //执行元素的方法,如:click,submit(需Form表单名)等</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > void </span><span class = "pln" > </span><span class = "typ" >Btn_click</span><span class = "pun" >(</span><span class = "typ" >HtmlElement</span><span class = "pln" > e</span><span class = "pun" >,</span><span class = "kwd" > string </span><span class = "pln" > s</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > e</span><span class = "pun" >.</span><span class = "typ" >InvokeMember</span><span class = "pun" >(</span><span class = "pln" >s</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "typ" >Element</span><span class = "pln" > el </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "typ" >Element</span><span class = "pun" >();</span><span class = "pln" > el</span><span class = "pun" >.</span><span class = "typ" >Write_value</span><span class = "pun" >(</span><span class = "pln" >el</span><span class = "pun" >.</span><span class = "typ" >GetElement_Id</span><span class = "pun" >(</span><span class = "typ" >IDRWebBrowser</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "patient_name" </span><span class = "pun" >),</span><span class = "pln" > dt</span><span class = "pun" >.</span><span class = "typ" >Rows</span><span class = "pun" >[</span><span class = "lit" >0</span><span class = "pun" >][</span><span class = "str" > "Patient_Name" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >());</span><span class = "pln" > </span><span class = "com" > //IDRWebBrowser 浏览器控件 下同</span><span class="pln"> </span><span class = "typ" >SHDocVw</span><span class = "pun" >.</span><span class = "typ" >WebBrowser</span><span class = "pln" > wb </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >SHDocVw</span><span class = "pun" >.</span><span class = "typ" >WebBrowser</span><span class = "pun" >)</span><span class = "typ" >IDRWebBrowser</span><span class = "pun" >.</span><span class = "typ" >ActiveXInstance</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "typ" >IHTMLDocument2</span><span class = "pln" > doc2 </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLDocument2</span><span class = "pun" >)</span><span class = "pln" >wb</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "typ" >IHTMLElementCollection</span><span class = "pln" > input </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLElementCollection</span><span class = "pun" >)</span><span class = "pln" >doc2</span><span class = "pun" >.</span><span class = "pln" >all</span><span class = "pun" >.</span><span class = "pln" >tags</span><span class = "pun" >(</span><span class = "str" > "input" </span><span class = "pun" >);</span><span class = "com" > //获取input元素</span><span class="pln"> </span><span class = "typ" >IHTMLElementCollection</span><span class = "pln" > </span><span class = "kwd" > select </span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLElementCollection</span><span class = "pun" >)</span><span class = "pln" >doc2</span><span class = "pun" >.</span><span class = "pln" >all</span><span class = "pun" >.</span><span class = "pln" >tags</span><span class = "pun" >(</span><span class = "str" > "select" </span><span class = "pun" >);</span><span class = "com" > //获取select元素</span><span class="pln"> </span><span class = "com" > //性别 input元素</span><span class="pln"> </span><span class = "typ" >IHTMLElement</span><span class = "pln" > elementsex </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLElement</span><span class = "pun" >)</span><span class = "pln" >input</span><span class = "pun" >.</span><span class = "pln" >item</span><span class = "pun" >(</span><span class = "str" > "sex" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "lit" >0</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "typ" >IHTMLInputElement</span><span class = "pln" > </span><span class = "typ" >InputElementsex</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLInputElement</span><span class = "pun" >)</span><span class = "pln" >elementsex</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >dt</span><span class = "pun" >.</span><span class = "typ" >Rows</span><span class = "pun" >[</span><span class = "lit" >0</span><span class = "pun" >][</span><span class = "str" > "Sex" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >==</span><span class = "pln" > </span><span class = "str" > "男" </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >InputElementsex</span><span class = "pun" >.</span><span class = "pln" >value </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "str" > "1" </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "typ" >InputElementsex</span><span class = "pun" >.</span><span class = "lit" >@ checked </span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > else </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >InputElementsex</span><span class = "pun" >.</span><span class = "pln" >value </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "str" > "2" </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "typ" >InputElementsex</span><span class = "pun" >.</span><span class = "lit" >@ checked </span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //select元素</span><span class="pln"> </span><span class = "typ" >IHTMLElement</span><span class = "pln" > elementgroup_id </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLElement</span><span class = "pun" >)</span><span class = "kwd" > select </span><span class = "pun" >.</span><span class = "pln" >item</span><span class = "pun" >(</span><span class = "str" > "group_id" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "lit" >0</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "typ" >IHTMLSelectElement</span><span class = "pln" > </span><span class = "typ" >SelectElementgroup_id</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLSelectElement</span><span class = "pun" >)</span><span class = "pln" >elementgroup_id</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "com" > //SelectElementgroup_id.value = dt.Rows[0]["Profession"].ToString();</span><span class="pln"> </span><span class = "typ" >SelectElementgroup_id</span><span class = "pun" >.</span><span class = "pln" >value </span><span class = "pun" >=</span><span class = "pln" > zy</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "typ" >IDRWebBrowser</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >All</span><span class = "pun" >[</span><span class = "str" > "group_id" </span><span class = "pun" >].</span><span class = "typ" >RaiseEvent</span><span class = "pun" >(</span><span class = "str" > "onchange" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "com" > //获取Iframe元素</span><span class="pln"> </span><span class = "typ" >IHTMLDocument2</span><span class = "pln" > doc11 </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >IHTMLDocument2</span><span class = "pun" >)</span><span class = "typ" >IDRWebBrowser</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >Window</span><span class = "pun" >.</span><span class = "typ" >Frames</span><span class = "pun" >[</span><span class = "str" > "addriframe" </span><span class = "pun" >].</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >DomDocument</span><span class = "pun" >;</span><span class = "pln" > doc11</span><span class = "pun" >.</span><span class = "pln" >url</span><span class = "pun" >=</span><span class = "str" > "自己定义它的src" </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "com" > //如果需要执行元素的事件,比如onchange事件,onclick事件,onblur事件 可以用以下两种方式</span><span class="pln"> </span><span class = "typ" >WebBrowser</span><span class = "pun" >执行</span><span class = "pln" >dom</span><span class = "pun" >里面的</span><span class = "pln" >js</span><span class = "pun" >,以下是两种方式:</span><span class = "pln" > </span><span class = "lit" >1.IDRWebBrowser</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >All</span><span class = "pun" >[</span><span class = "str" > "b_year" </span><span class = "pun" >].</span><span class = "typ" >RaiseEvent</span><span class = "pun" >(</span><span class = "str" > "onblur" </span><span class = "pun" >);</span><span class = "com" > //执行元素name='b_year'的onblur事件,如果是onclick事件改一下就行了</span><span class="pln"> </span><span class = "lit" >2.IDRWebBrowser</span><span class = "pun" >.</span><span class = "typ" >Document</span><span class = "pun" >.</span><span class = "typ" >InvokeScript</span><span class = "pun" >(</span><span class = "str" > "changeDiseaseid1" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "kwd" > object </span><span class = "pun" >[]</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >InputElementselDisease_1</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "com" > //执行changeDiseaseid1这个方法,后面是带参数的,这个网上的解释比较多,我建议用第一种,第一种好用。</span> |