2009-12-23 2 views
0

시각적 기본을 사용하고 있습니다. 2008System.Net에서 POST를 제출하지 않고 양식을 채우는 방법은 무엇입니까?

양식을 채우고 싶습니다. POST URL을 제출하고 싶지 않습니다.

대신 DOM 개체에 직접 액세스해야하며 프로그래밍 방식으로 클릭하거나 상호 작용해야합니다.

WebBrowser 클래스를 사용해야합니까?

입력란에 텍스트를 입력하고 제출 버튼을 클릭 한 샘플 코드를 표시 할 수 있습니까? 예) google.com

+0

게시물을 제출하지 않는 이유는 무엇입니까? 훨씬 쉽게 –

+0

우리 모두가 알고 사랑하는 다중 표면 청소기의 직업 일 수 있습니다. –

답변

0

당신은 텍스트 상자에 포커스를 잃을 때마다 웹 페이지의 첫 번째 양식을 제출

<input type="text" id="txtSomething" name="txtSomething" onblur="document.forms[0].submit()"> 

뭔가를 시도 할 수 있습니다.

1

예, WebBrowser를 사용하고 Document 속성을 사용하여 DOM을 수정할 수 있습니다. 이 예제 코드는 I Feel Lucky 버튼이있는 Google 검색어를 실행합니다.

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     webBrowser1.Url = new Uri("http://google.com"); 
     webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted; 
    } 

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { 
     if (webBrowser1.Url.Host.EndsWith("google.com")) { 
     HtmlDocument doc = webBrowser1.Document; 
     HtmlElement ask = doc.All["q"]; 
     HtmlElement lucky = doc.All["btnI"]; 
     ask.InnerText = "stackoverflow"; 
     lucky.InvokeMember("click"); 
     } 
    } 
    } 

이 작업을 수행하려면 웹 페이지의 DOM 구조를 알아야합니다. 나는 방화범을 사용하고, 많은 다른 것들이있다.

관련 문제