c#控制IE瀏覽器

mrhaozi發表於2010-03-18

c# 控制IE瀏覽器

想寫一個桌面程式,用C#。
程式執行後,會用IE開啟指定的,並自動登入網站,再根據需要進行一些操作。


相關內容如下:

C#控制IE瀏覽器
引入 C:WINDOWSSystem32mshtml.tlb、Interop.SHDocVw.dll


///
/// 返回指定Url的IE視窗下的 IHTMLDocument2 物件。
///

/// IHTMLDocument2
public static IHTMLDocument2 GetIHTMLDocument2ByUrl(string url)
{
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
foreach (SHDocVw.InternetExplorer ie in shellWindows)
{
string filename = System.IO.Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
if (filename.Equals(“iexplore“) && ie.LocationURL == url)
{
return ie.Document as IHTMLDocument2;
}
}
}

透過 GetIHTMLDocument2ByUrl 方法可以獲取已開啟的IE視窗中指寫地址的視窗中的 IHTMLDocument2 物件。
利用這個物件,就可以進行相關操作。
1.填寫表單
IHTMLDocument2 iHTMLDocument2 = GetIHTMLDocument2ByUrl(““);
IHTMLInputElement input = (IHTMLInputElement)iHTMLDocument2.all.item(“Username“, 0); // 獲取指定名稱的物件
input.value = “Xiao“; // 賦值


2.點選按鈕
IHTMLDocument2 iHTMLDocument2 = GetIHTMLDocument2ByUrl(““);
HTMLDocumentClass obj = (HTMLDocumentClass)iHTMLDocument2;
IHTMLElement iHTMLElement = null;
IHTMLElementCollection c = obj.getElementsByTagName(“input“);
foreach (IHTMLElement e in c)
{
if (e.outerHTML.IndexOf(“登入“) != -1)
{
iHTMLElement = e;
break;
}
}
if (iHTMLElement != null)
{
iHTMLElement.click(); // 點選登入按鈕
}

更多功能可以參考 IHTMLDocument2 物件
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16396910/viewspace-1032148/,如需轉載,請註明出處,否則將追究法律責任。

相關文章