Добрый день.
Разберем такой случай когда нам присылают ссылку на подтверждение, а после перехода по ссылке открывается страница с кнопкой подтверждения на которую надо нажать. Либо просто надо нажать на кнопку на странице HTML. Если с переходом по ссылке более менее все понятно, то с нажатием кнопки довольно не просто. Давайте разбираться.
- Немного теории.
- WebClient нам в помощь.
- Установка HTMLAgilityPack
- Отмечен как дубликат участником PashaPash c# Участники со знаками c# могут единолично закрывать вопросы с меткой c# как дубликаты, а также повторно открывать их при необходимости. 19 янв ’17 в 19:09 .
- 2 ответа 2
- Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# webbrowser или задайте свой вопрос.
- Связанные
- Похожие
- Похожие FAQ
- Еще в этой же категории
Немного теории.
Обычно копка является частью HTML формы. Соответственно нажимая на кнопку браузер формирует ответ серверу, обычно в POST запросе, собирая все данные с input элементов в веб-формы. Проще говоря цель нажатия кнопки это отослать представлениt заполненной веб-формы на веб-сервер.
Возьмем следующий пример:
В этом примере имеется форма с именем «login» методом «POST» и обработчиком «Home/Result». И имеются поля id и sitename которые уже заполнены значениями id и deptech соответственно, также имеется кнопка с именем «send».
В итоге нужно сформировать представление веб формы отослать на обработчик «Home/Result».
По умолчанию интернет-тип данных для отправки вэб-форм медиа это: «application/x-www-form-urlencoded».
Это формат для кодирования пар ключ-значение с возможностью дублирования ключей. Каждая пара ключ-значение отделяется символом &, ключ отделён от значения символом = . В ключах и значениях пробелы заменяются на знак +, и затем, используя URL-кодирование, заменяются все не буквенно-цифровые символы.
Для нашего примера :
Будет закодирована следующим образом
WebClient нам в помощь.
Так как мы работаем на прямую с протоколом то этот ответ мы должны сформировать самостоятельно.
Открываем проект в VisualStudio, создаем проект под названием, например, ClickHtmlButton. Кидаем на форму три текстбокса и кнопку.
В первый текстбокс будем подставлять нашу ссылку, во второй будем обозначим как имя нашей html кнопки. Ну и третье поле будем записывать ответ сервера после нажатия htmlкнопки.
В обработчик кнопки добавим следующий код:
Установка HTMLAgilityPack
Для решения проблемы нам понадобиться также дополнение HTML Agility Pack это HTML парсер. Его можно найти в Nuget через поиск либо добавить через ту же консоль nuget командой:
Потом в класс добавим
Добавим два класса которые будут описывать нашу форму и поля ввода
Класс который будет описывать нашу форму
Добавим недостающий класс ButtonClicker в проект.
На данный вопрос уже ответили:
Есть сайт с кнопкой. Как мне программно на нее нажать?
Отмечен как дубликат участником PashaPash c# Участники со знаками c# могут единолично закрывать вопросы с меткой c# как дубликаты, а также повторно открывать их при необходимости. 19 янв ’17 в 19:09 .
Подобный вопрос задавали ранее и на него уже получен ответ. Если представленные ответы не являются исчерпывающими, пожалуйста, задайте новый вопрос.
2 ответа 2
Наиболее простой способ: создаем webBrowser, далее:
Или, если эта кнопка — не исключительно кнопка веб-интерфейса, а по клику на неё происходит http-запрос, то можно явно формировать такой запрос и отправлять его из C# кода, только нужно знать url и данные.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# webbrowser или задайте свой вопрос.
Связанные
Похожие
дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459
Как программно нажать кнопку на форме ?
Вопрос:
На готовой форме есть кнопки :
Как программно нажать например кнопку ?
Ответ:
Нужно программно вызвать процедуру этой кнопки.
Например: Записать(); , Закрыть(); или ЗаписатьВФОРМЕ();
Смотрите синтаксис-помощник 1С
Если эта кнопка по умолчанию, то
Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Как на управляемой форме разместить список регистра сведений с отбором? 15
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Поле выбора
Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 8
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма
Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Форма