Управление Internet Explorer с помощью C # - PullRequest
1 голос
/ 14 февраля 2012

Существует веб-страница с текстовыми полями ввода.

Я хочу запустить страницу

Process.Start("http://nameofdomain.com")

Вопрос в том, как я могу ввести данные в поля и отправить форму?

ОБНОВЛЕНИЕ -

Мне не нужно показывать / отображать какие-либо страницы для пользователя.

Цель - позволить пользователям изменить свой пароль с минимальными усилиями.Наша текущая настройка:

  1. . Пользователь переходит на сайт в интрасети (http://intranetsite/password)
  2. . Пользователю предлагается ввести свое имя пользователя Windows (firstName.lastName)
  3. .попросили ввести свой текущий пароль (или ответить на вопросы безопасности, если они существуют)
  4. Пользователю предлагается нажать на ссылку (выбрать между изменением пароля или изменением вопросов безопасности)
  5. Последняя страницаСтраница подтверждения, которая сообщает пользователю, какие пароли были успешно изменены. У них есть несколько учетных записей в нашей сети. У каждой учетной записи есть свои правила паролей. В одной системе может потребоваться, чтобы пароль не повторялся повторно для последних 90 паролей. Другой системе требуется пароль длядолжно быть ровно 8 символов. Мое приложение проверяет правильность правил для паролей. Я не могу проверить историю паролей. Поэтому потребуется последняя страница, иначе мне придется проанализировать HTML-код и указать ошибку.

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Вы можете просмотреть такие инструменты автоматизации веб-браузера, как Selenium , у них есть драйвер C # для взаимодействия и автоматизации браузера.

1 голос
/ 14 февраля 2012

Лучший способ (на сегодняшний день) - WatiN @ http://watin.org/. Я пробовал Selenium и никогда не мог заставить его работать гладко (возможно, с тех пор он стал лучше). Документация WatiN ориентирована на автоматическое тестирование, но вы можете обойтись без тестового кода / библиотек, и она также поддерживает Firefox и Chrome . Например:

using WatiN.Core;
using WatiN.Core.Interfaces;
using WatiN.Core.Logging;
using WatiN.Core.DialogHandlers;

...

public void SearchForWatiNOnGoogle()
{
  using (var browser = new IE("http://www.google.com"))
  {
    browser.TextField(Find.ByName("q")).TypeText("WatiN");
    browser.Button(Find.ByName("btnG")).Click();
  }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...