Заполнение формы на сайте - 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;