Нажатие кнопки отправки в элементе управления WebBrowser - PullRequest
2 голосов
/ 13 февраля 2012

Я разрабатываю настольную программу на C # для автоматической отправки сообщений

  1. Я открываю веб-страницу (с формой) в элементе управления C # webbrowser
  2. Как только она открывает страницу, яЯ заполняю поле формы данными (используя код C #).Так что никакого ручного взаимодействия

Мой вопрос такой: Как автоматически отправлять данные на сервер (другими словами, как мне нажать кнопку отправки с использованием кода C #)?

Ответы [ 3 ]

1 голос
/ 13 февраля 2012

В основном, используя один и тот же код для определения местоположения и заполнения полей, вы можете пройти через DOM, чтобы найти кнопку отправки и отправить ее с помощью вызова.

theElementCollection = WebBrowser1.Document.GetElementsByTagName("input");
    foreach (HtmlElement curElement in theElementCollection) {
        if (curElement.GetAttribute("id").Equals("login_button")) {
            curElement.InvokeMember("click");
0 голосов
/ 03 марта 2013

Если вы хотите отправить форму, отметьте это,

// get the document
mshtml.IHTMLDocument2 doc = ((mshtml.HTMLDocumentClass)webBrowser1.Document);

// set a variable
((mshtml.IHTMLElement)doc.all.item("q")).setAttribute("value", "my input...");

// click a button
((mshtml.HTMLInputElement)doc.all.item("btnI")).click();

Пространство имен mshtml находится в сборке Microsoft.mshtml.

Просто добавьте ссылку на Microsoft.mshtml.

0 голосов
/ 13 февраля 2012

Взгляните на WatiN .Но я бы лично использовал WebClient или HttpWebRequest для получения / отправки данных с / на сервер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...