У вас есть несколько вариантов. Для того, чтобы расширить ответы от других и добавить новую идею ...
Делают это с помощью элемента управления WebBrowser: Это технически возможно либо инъекционного JavaScript в целевую страницу как demonstrated here или создание объекта JavaScript и использовать его как мост через имущество webbrowser.objectforscripting. Это очень хрупок - что-то простое, как изменение сайта Идентификатором элемента может сломать его. Вам также необходимо убедиться, что ваш код не мешает функционированию формы (имена функций объединения и т. Д.)
Сделайте это с помощью обратной передачи: Отслеживайте связь между веб-браузером и сервером (Я лично предпочитаю Firfox/Firebug, но то есть/Fiddler или Chrome/F12 тоже хороши). Пока вы можете точно воспроизвести действия браузера, сервер не может знать разницу. Проблема в том, что браузеры сложны, и чем более безопасна форма, тем более требовательны серверы. Это означает, что вам, возможно, придется подделывать логин, получать файлы cookie, отправлять их обратно на запросы подсетей, обрабатывать данные ViewState и переменные предотвращения xss. Это возможно, и это гораздо более надежный, чем первый вариант, но может быть болью для работы. Если это не очень безопасная форма, это ваш лучший выбор. More information here
Сделай автоматизации браузера:Selenium, вероятно, лучший вариант здесь (как уже отмечалось другими), но страдает от подобного недостатка в контроле WebBrowser в том, что он чувствителен к изменениям на самой форме (но не как mcuh, так как управление веб-браузером).
Кстати, если у вас есть версия Visual Studio Ultimate/Test (и некоторые другие, не уверенные), она включает в себя набор инструментов для тестирования, включая отличный механизм для автоматизации нагрузочного тестирования веб-сайта. Это также превосходно для отслеживания того, что именно делает форма, как вы можете видеть каждый шаг эмуляции.
Надеется, что это помогает
певца, вероятно, лучше использовать WebClient, чтобы отправить окончательный запрос с полной формой на вебе-сервер сразу –
ли эти бланки заказов простого HTTP POST, либо вам нужно ждать AJAXified запросов к вернуть? – user7116