Untitled

 avatar
unknown
csharp
4 years ago
2.9 kB
5
Indexable
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.DevTools;
using System;
using System.Threading;
using WebDriverManager;
using WebDriverManager.DriverConfigs.Impl;
using OpenQA.Selenium.DevTools;

using DevToolsSessionDomains = OpenQA.Selenium.DevTools.V95.DevToolsSessionDomains;
using Network = OpenQA.Selenium.DevTools.V95.Network;
using OpenQA.Selenium.DevTools.V95.Network;

namespace ConsoleApp3
{
    internal class Program
    {
        static protected IDevToolsSession session;
        static protected IWebDriver driver;
        static protected DevToolsSessionDomains devToolsSession;

        static void Main(string[] args)
        {
            new DriverManager().SetUpDriver(new ChromeConfig());
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.AddArguments("--headless");
            //Set ChromeDriver
            driver = new ChromeDriver();
            //Get DevTools
            IDevTools devTools = driver as IDevTools;
            //DevTools Session
            session = devTools.GetDevToolsSession();

            devToolsSession = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
            devToolsSession.Network.Enable(new Network.EnableCommandSettings());

            devToolsSession.Network.ResponseReceived += ResponseReceivedHandler;
            
            devToolsSession.Network.SetBlockedURLs(new Network.SetBlockedURLsCommandSettings()
            {
                Urls = new string[] { "*://*/*.css", "*://*/*.jpg", "*://*/*.png" }
            });

            driver.Url = "https://www.executeautomation.com";

        }


        public static void ResponseReceivedHandler(object sender, ResponseReceivedEventArgs e)
        {
            //Console.WriteLine($"Url: { e.Response.Url } Status: { e.Response.Status } Type: { e.Response.MimeType } ");
            Console.WriteLine(e.Response.StatusText.ToString());
        }

        /*
        static async Task Main(string[] args)
        {

            var driver = new ChromeDriver();
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            var devTools = (IDevTools)driver;
            DevToolsSession session = devTools.GetDevToolsSession();
            // add response received handler to dev tools session
            session.Network.ResponseReceived += ResponseReceivedHandler;
            await session.Network.Enable(new EnableCommandSettings());
            driver.Navigate().GoToUrl("https://stackoverflow.com/");
            Thread.Sleep(5000);
        }

        public static void ResponseReceivedHandler(object sender, ResponseReceivedEventArgs e)
        {
            Console.WriteLine($"Url: { e.Response.Url } Status: { e.Response.Status } Type: { e.Response.MimeType } ");
        }
        */
    }
}
Editor is loading...