2011-05-12 51 views
0

我想知道如何打開瀏覽器到特定的網頁,然後填寫該頁面上的框的一些內容。打開瀏覽器並填寫一些數據

我的想法是有人能夠從我們的內部訂購系統訂購特定物品。這些項目的條形碼將填充我想要打開的頁面上的字段。

我不能,我可以打開一個新的實例,即使用Process.Start("IEXPLORE.EXE", url);我怎麼得到一個處理完全即實例窗口,所以我可以開始將所需的數據添加到字段?

這甚至可能嗎?

非常感謝

+0

目標網頁是否在您的控制之下? – Farinha 2011-05-12 15:30:16

+0

它在我們的內部網絡上,但我不控制它 – rik 2011-05-12 15:31:46

+0

我要建議在查詢字符串中傳遞參數。如果它在內部網絡上,它可能是可行的。 – Farinha 2011-05-12 15:34:38

回答

0

WatiN應該幫助與此有關。我通常使用它來進行Web應用程序的驗收測試,但原理是一樣的。打開一個瀏覽器實例,在DOM中引用東西,操作表單元素等。

1

除了WatiN(正如在另一個答案中所建議的),您可能會考慮一個像Web Performance Load Tester這樣的負載測試包。他們有一個免費版本,允許您一次運行多達10個虛擬用戶,這將執行腳本操作。

另一種選擇是使用標準WebBrowser對象來加載您的網站。 WebBrowser對象允許您訪問和更改某些Web部件。以下是自動搜索Bing的示例代碼:

private void LoadPage() 
{ 
    WebBrowser webBrowser1 = new WebBrowser(); 

    webBrowser1.Navigate("http://www.bing.com"); 

    //Wait for document to load... 
    while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) 
    { 
     Application.DoEvents(); 
    } 

    //Set the text of the search input 
    HtmlElement txtTextField = webBrowser1.Document.GetElementById("sb_form_q"); 
    txtTextField.InnerText = "My test text"; 

    //Perform a click on the search button 
    HtmlElement btnSubmit = webBrowser1.Document.GetElementById("sb_form_go"); 
    btnSubmit.InvokeMember("click"); 

}