C#操作IE


操作IE主要使用兩個Com Dll:

1、Microsoft Internet Controls

2、Microsoft HTML Object Library

 

使用Microsoft Internet Controls取得所有的已經打開的IE(以Tab計算)

SHDocVw.ShellWindows IETabs = new SHDocVw.ShellWindows();

 

每個一個Tab都可以操作,每個Tab對應Com Object的SHDocVw.InternetExplorer

foreach (SHDocVw.InternetExplorer ieTab in IETabs)
{

}

 

取得每個Tab之后,就可以通過InternetExplorer的Document取得每個頁面的Dom

mshtml.HTMLDocument dom = ieTab.Document as mshtml.HTMLDocument;

 

取得Dom之后,基本上就已經取得了操作IE的所有權限了,可以繼續使用HTML Object Library對頁面進行操作

或者通過注冊JavaScript,對頁面進行操作:

mshtml.IHTMLScriptElement script = dom.createElement("script") as mshtml.IHTMLScriptElement; \\創建script標簽
script.text = "$(\"[name='wd']\").val('劉德華');"; \\通過Jquery,對百度進行操作

mshtml.HTMLBody body = dom.body as mshtml.HTMLBody; \\取得body對象
body.appendChild((mshtml.IHTMLDOMNode)script); \\注冊JavaScript

 

完整代碼(循環所有ieTab,對百度頁面操作...搜索劉德華):

            SHDocVw.ShellWindows IETabs = new SHDocVw.ShellWindows();
            foreach (SHDocVw.InternetExplorer ieTab in IETabs)
            {
                if (ieTab.LocationURL.Contains("www.baidu.com"))
                {
                    mshtml.HTMLDocument doc = ieTab.Document as mshtml.HTMLDocument;
                    mshtml.IHTMLScriptElement script = doc.createElement("script") as mshtml.IHTMLScriptElement;
                    script.text = "$(\"[name='wd']\").val('劉德華');";
                    mshtml.HTMLBody body = doc.body as mshtml.HTMLBody;
                    body.appendChild((mshtml.IHTMLDOMNode)script);
                }
            }

 

園里有其他更加詳細的參考Blog:

c#控制IE瀏覽器自動點擊等事件WebBrowser,mshtml.IHTMLDocument2

C#操作IE瀏覽器

 

個人建議:

基本接入IE,使用Com,然后其他業務操作,通過注入JavaScript進行操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM