2011-05-12 3 views
0

저는 특정 웹 페이지로 브라우저를 열고 그 페이지의 상자 내용 중 일부를 채울 수있는 방법을 알고 싶습니다.브라우저를 열고 일부 데이터를 입력하십시오.

제 아이디어는 누군가가 우리의 내부 주문 시스템에서 특정 품목을 주문할 수있게하는 것입니다. 이러한 항목의 바코드는 내가 열려고하는 페이지의 필드를 채우는 항목입니다.

아니요. 예를 들어 Process.Start("IEXPLORE.EXE", url);을 사용하여 새 인스턴스를 열 수 없습니다. 필드에 필요한 데이터를 추가 할 수 있도록 인스턴스 인스턴스 창에서 핸들을 어떻게 얻을 수 있습니까?

이것도 가능합니까?

정말 감사합니다

+0

대상 페이지를 직접 제어 할 수 있습니까? – Farinha

+0

그것의 우리의 내부 네트워크에 그러나 나는 그것을 제어하지 않는다 – rik

+0

나는 querystring에있는 매개 변수를 건의 할 것을 건의하고 있었다. 내부 네트워크에 있다면 실행 가능할 수 있습니다. – Farinha

답변

0

WatiN이 도움이됩니다. 나는 일반적으로 웹 응용 프로그램의 수용 테스트에 사용했지만 원리는 같습니다.

1

WatiN (다른 답변에서 제안한 바 있음) 외에도 부하 테스트 패키지는 Web Performance Load Tester과 같은 것으로 간주 할 수 있습니다. 무료 버전을 사용하면 한 번에 최대 10 명의 가상 사용자를 실행할 수 있으므로 스크립트 작업을 수행 할 수 있습니다.

다른 옵션은 표준 WebBrowser 개체를 사용하여 웹 사이트를로드하는 것입니다. WebBrowser 개체를 사용하면 특정 웹 파트에 액세스하고 변경할 수 있습니다. 다음은 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"); 

} 
관련 문제