早上好。 我正在开发一个蜘蛛来审查一些网页。如果不使用硒,我就做不到。但是硒的问题在于它消耗大量资源并且速度慢。我正在寻找优化方法。 据我所知,主要问题是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://stackoverflow.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);
}
我看到一个解决方案,但在 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);
在此处查看原始答案