Сегодня 5 июня, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7274
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Справочник по C#
Справочник по C#
Голосов: 1
Адрес блога: http://www.csharpcoderr.com/
Добавлен: 2012-11-28 00:46:26
 

Автозаполнение в WebBrowser

2012-10-19 08:48:54 (читать в оригинале)


      Данный пример показывает как легко и просто можно реализовать авто заполнение в компоненте WebBrowser. Мне данный пример пригодился для авто заполнения формы и автоматической регистрации на сайте www.masterlike.ru


      Для работы нам понадобится разместить компонент WebBrowser на форму! Теперь буду пытаться объяснить как выполнить данную задачу на примере сайта www.masterlike.ru. Вот так у него выглядит форма регистрации:

       Давайте подробнее рассмотрим что мы можем здесь заполнить автоматически, это будут все поля кроме поля ввода кода подтверждения так как он всегда разный! Теперь необходимо определить имена полей которые мы заполняем, для этого открываем браузер Chrome и переходим на нашу страничку www.masterlike.ru,после полной загрузки страницы нажимаем "F12". У нас появится дополнительное окно:
      Далее нам необходимо узнать ID первого текстового поля, ввода Логин. Для это правой клавишей мыши нажимаем на это текстовое поле и выбираем пункт "Просмотр кода элемента".
После этого мы увидим код необходимого нам текстового поля.
В этом коде нам необходим всего лишь один параметр, это id компонента:
input data-val-regex-pattern="[a-zA-Z0-9-]{1,}" data-val-regex="The field UserName must match the regular expression '[a-zA-Z0-9-]{1,}'." data-val-required="The UserName field is required." data-val="true" id="UserName" name="UserName" size="50" type="text" value=""
Для поля ввода "Логин" это будет "UserName". Теперь его необходимо заполнить:
webBrowser1.Document.GetElementById("UserName").SetAttribute("value", "csharpcoderr");
      В примере выше мы извлекли отдельный объект System.Windows.Forms.HtmlElement с использованием атрибута ID GetElementById("UserName") этого элемента в качестве поискового ключа и задали значение атрибута с заданным именем(value) в элементе.
С остальными полями поступаете так же. Единственное что нам осталось это поставить галочку "Я согласен с правилами системы". Для это мы выполняем все те же действия как и для текстового поля и получаем ID нашего checkbox.

HtmlDocument rememberme = this.webBrowser1.Document;
rememberme.GetElementById("helpbox").SetAttribute("checked", "true");       
      Думаю здесь мне уже не надо ничего обьяснять. Вот полный пример кода для заполнения формы регистрации сайта www.masterlike.ru
private void button1_Click(object sender, EventArgs e)
{
    if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
    {
        webBrowser1.Document.GetElementById("UserName").SetAttribute("value", "csharpcoderr");
        webBrowser1.Document.GetElementById("Email").InnerText = "info@csharpcoderr.com";
        webBrowser1.Document.GetElementById("Password").InnerText = "11111111";
        webBrowser1.Document.GetElementById("ConfirmedPassword").InnerText = "11111111";
        webBrowser1.Document.GetElementById("Phonecode").InnerText = "7922";
        webBrowser1.Document.GetElementById("Phone").InnerText = "7946455";

        HtmlDocument rememberme = this.webBrowser1.Document;
        rememberme.GetElementById("helpbox").SetAttribute("checked", "true");               
    }
}

Тэги: form, internet, web, window

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.