Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2010, 18:08   #1
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию Управление Firefox/IE через программу

Здравствуйте, скажите пожалуйста возможно ли сделать через программу чтобы она "ловила" все запросы с одного из браузеров, а также могла работать как робоформ, тоесть заполнять поля такого вида:
Код:
<input id="email" type="text" name="username" value="" />
В интернете почему-то абсолютно ничего не нашёл по этому поводу, если кто предоставит ссылку на примерчик буду очень благодарен.
iHikita вне форума Ответить с цитированием
Старый 18.08.2010, 18:17   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Есть такая библиотека, как WatiN. Посредством неё можно запустить IE или Firefox, открыть нужную страницу, проанализировать содержимое страницы, заполнить нужные поля,... А вот по поводу отлова всех запросов... Тут скорее в сторону снифферов копать нужно...
pu4koff вне форума Ответить с цитированием
Старый 18.08.2010, 18:26   #3
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Есть такая библиотека, как WatiN. Посредством неё можно запустить IE или Firefox, открыть нужную страницу, проанализировать содержимое страницы, заполнить нужные поля,... А вот по поводу отлова всех запросов... Тут скорее в сторону снифферов копать нужно...
Огромное вам спасибо, буду пробовать
iHikita вне форума Ответить с цитированием
Старый 19.08.2010, 14:21   #4
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Кто может подсказать по поводу WatiN, как там можно "ловить" recaptcha и выводить в нужный элемент на форме?

Код капчи таков
Код:
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LffAwwAAAAAAHYaV40t4RX1Ngqv2ip1X84SlMQO"></script>
Уже несколько часов ничего придумать не могу.
iHikita вне форума Ответить с цитированием
Старый 19.08.2010, 14:31   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Код:
IE ie = new IE(...); // Создаём экземпляр IE
...
ie.TextField(WatiN.Core.Find.By("Name", "NOTNULLDTPUBLIC_1")).Value = "01.01.2010";
Тут ищем текстовое поле с именем NOTNULLDTPUBLIC_1 и записываем в него значение "01.01.2010".
Примерно таким образом можно искать нужное и вписывать значения. Искать элементы можно по любому аттрибуту. Просто вместо Name вписываем src, type или еще что. Свойство Value работает и на чтение. И значение каждого аттрибута тоже можно прочитать.
Не совсем правда понял что именно нужно сделать
pu4koff вне форума Ответить с цитированием
Старый 19.08.2010, 14:48   #6
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код:
IE ie = new IE(...); // Создаём экземпляр IE
...
ie.TextField(WatiN.Core.Find.By("Name", "NOTNULLDTPUBLIC_1")).Value = "01.01.2010";
Тут ищем текстовое поле с именем NOTNULLDTPUBLIC_1 и записываем в него значение "01.01.2010".
Примерно таким образом можно искать нужное и вписывать значения. Искать элементы можно по любому аттрибуту. Просто вместо Name вписываем src, type или еще что. Свойство Value работает и на чтение. И значение каждого аттрибута тоже можно прочитать.
Не совсем правда понял что именно нужно сделать
Искать пробовал, но не знаю успешно или нет.
Но нужно мне получить картинку рекапчи.
Допустим есть сайт (http://www.iphones.ru/forum/index.ph...1&coppa_pass=1)(взял просто первый попавшийся для примера), у него там стоит капча, выводится она вот таким кодом:
Код:
</script><script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LcpWAMAAAAAAA4klDtDNuDH6LsGgBX5mBoJ3naK"></script>
А вопрос состоит в том, как мне получить адрес на картинку капчи?
iHikita вне форума Ответить с цитированием
Старый 19.08.2010, 16:05   #7
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Ищу вот так, но что именно я этим могу найти не понимаю
Код:
browser.Element(Find.BySrc("http://api.recaptcha.net/challenge?k=6Lfub7wSAAAAAPXhcZ5VJYLm8dg9v5VxE5u3ABYn"));
iHikita вне форума Ответить с цитированием
Старый 19.08.2010, 16:32   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Можно перебирать все картинки на страницы в таком цикле:
Код:
WatiN.Core.IE ie = new WatiN.Core.IE("http://ithappens.ru/story/add/");
ie.WaitForComplete();

foreach (WatiN.Core.Image img in ie.Images)
{
  // img.Src - путь к картинке
  // у img еще много аттрибутов можно глянуть и взять за ориентир в поиске
}
ie.Close();
Нужна ссылку на картинку такого рода: http://www.google.com/recaptcha/api/...xRlD38y4a7nFfQ

Попробовал над ithappens.ru поиздеваться. Работает такое определение пути до капчи:
Код:
textBox.Text = ie.Div(WatiN.Core.Find.ById("recaptcha_image")).Images[0].Src;

Последний раз редактировалось pu4koff; 19.08.2010 в 16:43.
pu4koff вне форума Ответить с цитированием
Старый 19.08.2010, 17:05   #9
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Можно перебирать все картинки на страницы в таком цикле:
Код:
WatiN.Core.IE ie = new WatiN.Core.IE("http://ithappens.ru/story/add/");
ie.WaitForComplete();

foreach (WatiN.Core.Image img in ie.Images)
{
  // img.Src - путь к картинке
  // у img еще много аттрибутов можно глянуть и взять за ориентир в поиске
}
ie.Close();
Нужна ссылку на картинку такого рода: http://www.google.com/recaptcha/api/...xRlD38y4a7nFfQ

Попробовал над ithappens.ru поиздеваться. Работает такое определение пути до капчи:
Код:
textBox.Text = ie.Div(WatiN.Core.Find.ById("recaptcha_image")).Images[0].Src;
Огромнейшее спасибо, теперь всё работает !
iHikita вне форума Ответить с цитированием
Старый 20.08.2010, 16:42   #10
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Извиняюсь, возник ещё один вопрос по поводу поиска ссылок.
На странице есть много ссылок вот такого вида:
Код:
<a class="TheBest" href="/per/4587">Link Title</a>
Как найти именно все такие ссылки на странице? Делаю по аналогии с тем кодом что выше, но не получается, пишет "Индекс находился вне границ массива.";

upd: Сделал, но как-то это немного не красиво мне кажется.
Цитата:
foreach (WatiN.Core.Link links in browser.Links)
{
if (links.ClassName == "TheBest")
{
infoBox.AppendText(links.Url);
}
}
Можно ли сделать другим способом?

Последний раз редактировалось iHikita; 20.08.2010 в 16:50.
iHikita вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление программой через браузер medved6216 Работа с сетью в Delphi 2 19.02.2013 13:30
Управление ШД через LPT - порт remz Общие вопросы Delphi 17 06.10.2010 22:39
управление ProgressBar-ом через dll Volkogriz Общие вопросы Delphi 4 15.04.2010 18:04
Управление данными через запросы. prosport91 SQL, базы данных 1 24.03.2010 17:06
Управление через лан yura-cat Помощь студентам 7 23.09.2008 00:26