Html Agility Pack предназначен для анализа, запроса и манипулирования HTML DOM.Какой-то сканер был бы подходящим вариантом для этого.Но вы хотите запустить http-запрос, javascript-событие или что-нибудь, что находится за этими кнопками.Самый простой способ с большинством функций - это дистанционное управление веб-браузером.
Сначала установите Selenium и браузер-драйвер.Я использую Firefox здесь, поскольку он бесплатный, с открытым исходным кодом и следит за конфиденциальностью:
Install-Package Selenium.WebDriver
Install-Package Selenium.Firefox.WebDriver
Загрузите исполняемый файл драйвера вашего браузера.Драйвер геккона Firefox можно найти на github здесь: https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-win64.zip Обзор версии, если пост стареет: https://github.com/mozilla/geckodriver/releases
Теперь запустите архив и скопируйте его путь к переменной:
string geckoDriverPath = @"D:\Downloads\geckodriver-v0.24.0-win64";
Мы готовы начать использовать Firefox.Простой пример, который вводит какой-либо запрос в поле поиска stackoverflow и нажимает кнопку поиска справа:
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
using System;
class Program {
static void Main(string[] args) {
string geckoDriverPath = @"D:\Downloads\geckodriver-v0.24.0-win64";
using (var driver = new FirefoxDriver(geckoDriverPath)) {
driver.Navigate().GoToUrl("https://stackoverflow.com");
var searchBox = driver.FindElementByCssSelector("#search .js-search-field");
searchBox.SendKeys("Selenium");
var searchButton = driver.FindElementByCssSelector("#search .js-search-submit");
searchButton.Click();
Console.Read();
}
}
}
Пожалуйста, наберитесь терпения, для инициализации браузера может потребоваться несколько секунд.
В зависимости от того, что делает нажатие вашей кнопки, могут быть другие способы.Если это какой-то запрос http (вызов формы или ajax), вы можете отправить его вручную.Это быстрее, экономит ресурсы и вы можете легко запустить его без головы.Но это сложнее понять.Особенно на сложных страницах, где вам нужно извлечь данные, такие как идентификаторы из источника страницы.Вы можете рассмотреть это, если вы заботитесь о производительности и ресурсах.