Заполнение формы на сайте - C#
Формулировка задачи:
Есть поисковый сайт . У меня возникло желание программно задать поисковый запрос. По id нашел нужные элементы, вставил запрос и нажал кнопку.
Но когда дело дошло до авторизации я зашел в тупик.
Вот вырезки кодов элементов.
код программы
для пробы логин m_login
и пароль m_password
логин -- <input id="login" name="login" value=""/> -- тут ясно пароль -- <input type="password" name="pass"/> кнопка войти -- <input type="submit" class="button" value="Войти"/>
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { } private void button1_Click(object sender, EventArgs e) { // переходим по адресу webBrowser1.Navigate("http://www.nigma.ru/index_menu.php?action=authorization&display=login"); // ждём конца загрузки страници webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } // страница полностью загружена // заполняем поле поиска с именем "query" webBrowser1.Document.GetElementById("query").SetAttribute("value", "cyberforum"); // жмём на кнопку поиск <input id="find" type="submit" value="Найти!" class="button" tabindex="2"/> webBrowser1.Document.GetElementById("find").InvokeMember("click"); } private void button2_Click_1(object sender, EventArgs e) { // переходим по адресу авторизации webBrowser1.Navigate("http://www.nigma.ru/index_menu.php?action=authorization&display=login"); // ждём конца загрузки страници webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }// страница полностью загружена //заполняем поле логин webBrowser1.Document.GetElementById("login").SetAttribute("value", "m_login"); //здесь нужно заполнить поле пароль // html <input type="password" name="pass"/> // здесь нужно нажать кнопку войти // html <input type="submit" class="button" value="Войти"/> } } }
Решение задачи: «Заполнение формы на сайте»
textual
Листинг программы
webBrowser1.Document.GetElementById("emails").SetAttribute("value", label1.Text); webBrowser1.Document.GetElementById("password").InnerText = label2.Text;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д