Задать вопрос
@HamaVari

Из кода на C#, нужно спарсить url XHR запросов на сайте те что находятся в панели разработчика во вкладке Network-Fetch/XHR. Как осуществить?

Из кода на C# нужно спарсить с сайта ссылки на XHR те что находятся в панели разработчика во вкладке Network-Fetch/XHR. Какие способы и библиотеки лучше задействовать чтобы было как можно оптимальней решена данная задача? Знаю что можно воспользовать Selenium, но хочу знать как и какие еще есть способы?
  • Вопрос задан
  • 455 просмотров
Подписаться 1 Простой 20 комментариев
Решения вопроса 1
@HamaVari Автор вопроса
Я разобрался сам, по этому если кому то пригодится, вот код который выводит из вкладки Network ссылки на XHR запросы, а так же ccылки на js, css и т.д.
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.DevTools;

class Program
{
    static void Main(string[] args)
    {
        var options = new ChromeOptions();
        options.AddArgument("--start-maximized");
        IWebDriver driver = new ChromeDriver(options);

        var xhrUrls = new List<string>();
        var handler = new NetworkRequestHandler();
        handler.RequestTransformer = (request) => { return request; };
        handler.RequestMatcher = httprequest =>
        {
            xhrUrls.Add(httprequest.Url);
            return false;
        };

        INetwork networkInterceptor = driver.Manage().Network;
        networkInterceptor.AddRequestHandler(handler);

        networkInterceptor.StartMonitoring();

        driver.Navigate().GoToUrl("https://store.epicgames.com/en-US/p/tunche");

        driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(30);

        networkInterceptor.StopMonitoring();

        foreach (var url in xhrUrls)
        {
            Console.WriteLine(url);
        }

        driver.Quit();
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vovka3003
@vovka3003
Фрилансер. Инженер систем безопасности.
Собственно больше ничего...
Можно разве что немного сократить путь и задействовать chromedriver напрямую или web-сокетами общаться через remote-debugging порт. Но в этом нет особого смысла, т.к. Selenium - уже готовая обертка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы