2012-02-26 5 views
-1

Как выбрать текстовое поле, которое доступно на веб-странице, чтобы моя программа могла добавлять данные в выбранное текстовое поле?Как выбрать текстовое поле на веб-странице

Я пытаюсь настроить программу на C#, которая автоматически войдет в систему на нескольких сайтах.

Пример сайта:

http://what.cd/login.php

Текущий код:

private void login() 
{ 
     System.Net.HttpWebRequest whatCDReq = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http://what.cd/login.php"); 

     HTMLDocument htmlDoc = new HTMLDocumentClass(); 

     htmlDoc = (HTMLDocument)webBrowser1.Document; 

     HTMLInputElement username = (HTMLInputElement)htmlDoc.all.item("p", 0); 

     username.value = "Test"; 
} 
+2

Что вы подразумеваете под «выбором texbox на веб-странице»? какая программа является вашей программой? – Icarus

+0

автоматический вход для серии сайтов в C# - C# был в названии, но был отредактирован, не знаю, почему ... – cheeseman

+1

Я предполагаю, что вы пытаетесь заполнять поля ввода на удаленном веб-сервере программным путем. Посмотрите на [HttpWebRequest] (http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx), [NameValueCollection] (http://msdn.microsoft.com/ru -us/library/system.collections.specialized.namevaluecollection.aspx) и этот SO-ответ: http://stackoverflow.com/questions/7023046/sending-namevaluecollection-to-http-request-c-sharp –

ответ

0

Посмотрите, что вы хотите сделать, это отправить запрос формы на сервер. Разберите веб-страницу для элементов формы текстового поля и отправьте данные в формате, который может использовать сервер (обычно обработка данных выполняется в PHP на стороне сервера).

Просмотрите в файле веб-сайта ссылку на функцию Javascript, которая выполняет само действие (она должна отформатировать данные и отправить их на сервер). Я бы рекомендовал реализовать это, переведя его на ваш язык выбора. Или вы можете запускать функцию Javascript напрямую через какую-то стороннюю библиотеку (несмотря на то, что вы думаете, я считаю, что первый вариант в конечном счете облегчается для небольших задач, подобных этому).

+0

Я думаю Я понимаю, я попытаюсь сделать это на C#. Я пытаюсь настроить автоматическую программу входа в систему для ряда веб-сайтов. Например, http://what.cd/login.php, который, как вы сказали, является PHP: P – cheeseman

+0

Просто чтобы добавить к этому: просмотрев страницу, она «POSTS» вводит данные в форму [what.cd/login .php] (what.cd/login.php), поэтому вам не нужно даже касаться или царапать страницу, если вы этого не хотите. Вы могли бы сделать что-то вроде этого [показы в блогах] (http://www.dijksterhuis.org/simple-class-to-submit-post-a-web-form-from-csharp/). Единственным недостатком этого является то, что при изменении страницы входа в систему вам также придется изменить свой код. – CCBlackburn

+0

Спасибо :) Я не могу получить HttpUtility.UrlEncode (значение))); работать, поскольку HttpUtility не распознается, я уже использую system.web http://msdn.microsoft.com/en-us/library/system.web.httputility.aspx – cheeseman

Смежные вопросы