在 C# 中使用 Selenium 时避免加载图像和其他资源,如 css

Avoid load images and other resources like css when use Selenium in c#

早上好。 我正在开发一个蜘蛛来审查几个网页。不使用硒我做不到。但是 Selenium 的问题是它消耗大量资源并且速度很慢。我正在寻找优化方式。 据我所知,主要问题是 Selenium 加载了整个网站及其所有资源。但我只需要 javascript 和 html 为我工作。但我不需要图像。我能以某种方式阻止在 C# 中的 Selenium 浏览器中加载图像吗?

    using OpenQA.Selenium;
    using OpenQA.Selenium.Chrome;
    using OpenQA.Selenium.Support.UI;

    using (IWebDriver driver = SeleniumUtility.GetChromeDriverHidden())
    {
        driver.Url = "https://whosebug.com/";
        string html = driver.PageSource;
    }

    internal static ChromeDriver GetChromeDriverHidden(bool hidden = true)
    {
        ChromeDriverService service = ChromeDriverService.CreateDefaultService(".");
        service.HideCommandPromptWindow = true; // Hide output commands in console

        var options = new ChromeOptions()
        {
            AcceptInsecureCertificates = true // This lets the browser accept the insecure certificate. Set hidden = false
        };

        if (hidden)
        {
            options.AddArgument("headless"); // hide window if added to options
        }

        return new ChromeDriver(service, options);
    }

我明白了one solution,但在 C# 中我不知道该怎么做。

试试这个,希望对你有帮助


ChromeOptions options = new ChromeOptions();
options.addArguments("headless","--blink-settings=imagesEnabled=false");


或者

    IWebDriver driver;
    ChromeOptions options = new ChromeOptions();
    options.AddUserProfilePreference("profile.default_content_setting_values.images", 2);
    driver = new ChromeDriver(options);

查看原回答here