Вересень 10, 2013
У даній статті хотілося б розповісти про те, як заповнювати поля форми програмними методами, а так само як натискати на кнопку відправки форми. Це може стати в нагоді для різних завдань, не завжди зручно відправляти GET або POST запити, а простіше і зручніше імітувати заповнення і надсилання форми. Отже, сьогодні спробуємо заповнити і відправити форму авторизації в пошті Яндекса. Для початку створюємо новий проект C # Windows From і поміщаємо на форму елемент webBrowser, вказуючи в параметрі Url адреса пошти Яндекса mail.yandex.ru а так само додаємо 2 кнопки на форму по одній кнопці буде відбуватися заповнення форми, по другій кнопці буде відбуватися відправка форми. В результаті у вас повинна вийти приблизно така форма.
Додаємо подія натискання кнопки «Заповнити». Засобами браузера, наприклад браузером Google Chrome визначаємо id полів логіна і пароля. В результаті отримали b-mail-domik-username11 і b-mail-domik-password11. Після того як отримані id даних полів можна заповнювати ці поля після натискання нашої кнопки. За допомогою даного коду реалізуємо заповнення:
webBrowser1.Document.GetElementById ( "b-mail-domik-username11"). InnerText = " [email protected] "; 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 ми пройшлися по всім інпут нашої сторінки і знайшли кнопку «Увійти», після цього зробили натискання. Даним способом можна обробляти будь-яку форму, знаходити і заповнювати всі поля, все залежить від вашої фантазії і навичок.
Сподобалася стаття? Тисни:
Сподобалася стаття?