Как программно нажать кнопку на сайте

Добрый день.

Разберем такой случай когда нам присылают ссылку на подтверждение, а после перехода по ссылке открывается страница с кнопкой подтверждения на которую надо нажать. Либо просто надо нажать на кнопку на странице HTML. Если с переходом по ссылке более менее все понятно, то с нажатием кнопки довольно не просто. Давайте разбираться.

Немного теории.

Обычно копка является частью 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.х

Читайте также:  В каком формате скачивать книги на ipad

Похожие FAQ

Еще в этой же категории

Как на управляемой форме разместить список регистра сведений с отбором? 15
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Поле выбора

Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 8
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Форма

Ссылка на основную публикацию
Adblock
detector