Хотите прямо сейчас получить бесплатный видеокурс по программированию для начинающих?

Заполнение и отправка html форм на C#

Сентябрь 10, 2013

FormВ данной статье хотелось бы рассказать о том, как заполнять поля формы программными методами, а так же как нажимать на кнопку отправки формы. Это может пригодиться для разных задач, не всегда удобно отправлять GET или POST запросы, а проще и удобнее имитировать заполнение и отправку формы. Итак, сегодня попробуем заполнить и отправить форму авторизации в почте Яндекса. Для начала создаем новый проект C# Windows From и помещаем на форму элемент webBrowser, указывая в параметре Url адрес почты Яндекса mail.yandex.ru  а так же добавляем 2 кнопки на форму по одной кнопке будет происходить заполнение формы, по второй кнопке будет происходить отправка формы. В результате у вас должна получиться примерно такая форма. 

23

 

Добавляем событие нажатия кнопки «Заполнить». Средствами браузера, к примеру браузером Google Chrome определяем id полей логина и пароля. В результате получили b-mail-domik-username11 и b-mail-domik-password11. После того как получены id данных полей можно заполнять эти поля по нажатию нашей кнопки. С помощью данного кода реализуем заполнение:

webBrowser1.Document.GetElementById("b-mail-domik-username11").InnerText = "test@yandex.ru";
webBrowser1.Document.GetElementById("b-mail-domik-password11").InnerText = "password";

Компилируем, проверяем видим, что поля заполняются. Теперь нам нужно программными методами нажать на кнопку «Войти», но пытаясь получить id этой кнопки видим, что данный параметр не указан, поэтому мы будем проходиться по всем кнопкам страницы и если находим именно эту, то нажимаем на нее. В обработчик события нажатия кнопки «Отправить» пишем следующий код.

HtmlElementCollection arr = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement input in arr)
{
   if (input.GetAttribute("type") == "submit" && input.GetAttribute("value") == "Войти")
   {
      input.InvokeMember("click");
   }
}

Таким образом в цикле foreach мы прошлись по всем инпутам нашей страницы и нашли кнопку «Войти», после этого произвели нажатие. Данным способом можно обрабатывать любую форму, находить и заполнять любое поле, все зависит от вашей фантазии и навыков.



Один комментарий к записи Заполнение и отправка html форм на C#

  1. Яков on 10.09.2013 at 14:41

    А как работать дальше, когда ввел пароль и вошел в ящик? Например, как удалить все прочитанные письма.

Добавить комментарий для Яков Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Поддержите проект

Хит продаж:

Случайный анекдот

Моя вторая книга

Что это???

Программирование для Android:

Мы вконтакте

Помощь сайту

Понравился сайт? Он сильно нуждается в раскрутке.

Чтобы помочь в раскрутке - опубликуйте ссылку на сайт (или любую его страницу) на любом другом сайте в интернете. Тогда сайт станет чуточку популярнее.

Или просто нажмите на кнопки социальных сетей которые стоят в конце каждой статьи

Вместе мы сможем сделать программирование более популярным и более понятным для всех!

Заранее спасибо!
Артём Кашеваров.