public static ChromeDriver CreateChromeDriver(string profilePath, ChromeOptionConfig chromeOptionConfig) { if (!Directory.Exists(profilePath)) { throw new Exception("Không tìm thấy thư mục"); } var directory = Path.GetDirectoryName(profilePath); var nameProject = Path.GetFileName(profilePath); ChromeOptions options = new ChromeOptions(); options.PageLoadStrategy = chromeOptionConfig.PageLoadStrategy; if (chromeOptionConfig != null) { InitParameterChromeOption(options, chromeOptionConfig); } //hide cammand ChromeDriverService service = ChromeDriverService.CreateDefaultService(); service.HideCommandPromptWindow = chromeOptionConfig.IsHiddenCommandLine; //InitProfile var userdatadir = $"user-data-dir={directory}"; var profiledirectory = $"profile-directory={nameProject}"; options.AddArgument(userdatadir); options.AddArgument(profiledirectory); ChromeDriver chromeDriver = new ChromeDriver(service, options); return(chromeDriver); }
private static void InitParameterChromeOption(ChromeOptions options, ChromeOptionConfig chromeOptionConfig) { if (chromeOptionConfig.IsDisableFlash) { options.AddArguments("--disable-bundled-ppapi-flash"); } if (chromeOptionConfig.IsDisableFont) { options.AddArguments("--disable-remote-fonts"); } if (chromeOptionConfig.IsDisableImage) { options.AddUserProfilePreference("profile.default_content_setting_values.images", 2); } if (chromeOptionConfig.IsHeadless) { options.AddArgument("--headless"); } if (chromeOptionConfig.IsDisableNotify) { options.AddUserProfilePreference("profile.default_content_setting_values.notifications", 2); options.AddArgument("--disable-notifications"); } if (chromeOptionConfig.IsDisableCss) { options.AddUserProfilePreference("profile.default_content_setting_values.stylesheet", 2); } if (chromeOptionConfig.NullProxy == true) { options.Proxy = null; } else if (!String.IsNullOrEmpty(chromeOptionConfig.IpProxy) && chromeOptionConfig.PortProxy != 0) { if (chromeOptionConfig.IsSocks5Proxy) { options.AddArguments("--proxy-server=socks5://" + chromeOptionConfig.IpProxy + ":" + chromeOptionConfig.PortProxy); } else { options.AddArguments("--proxy-server=http://" + chromeOptionConfig.IpProxy + ":" + chromeOptionConfig.PortProxy); } options.AddArgument("ignore-certificate-errors"); } if (!string.IsNullOrEmpty(chromeOptionConfig.UserAgent)) { options.AddArguments($"user-agent={chromeOptionConfig.UserAgent}"); } options.AddArguments("--no-proxy-server"); options.AddArguments("--ignore-certificate-errors-spki-list"); options.AddArguments("--ignore-ssl-errors"); options.AddArguments("disable-infobars"); options.AddArgument("--disable-plugins"); // disable flash options.AddArgument("--log-level=3"); options.AddUserProfilePreference("disable-save-password-bubble", true); }
public static ChromeDriver CreateChromeDriver(ChromeOptionConfig chromeOptionConfig) { ChromeOptions options = new ChromeOptions(); options.PageLoadStrategy = chromeOptionConfig.PageLoadStrategy; InitParameterChromeOption(options, chromeOptionConfig); //hide cammand ChromeDriverService service = ChromeDriverService.CreateDefaultService(); service.HideCommandPromptWindow = chromeOptionConfig.IsHiddenCommandLine; ChromeDriver chromeDriver = new ChromeDriver(service, options); return(chromeDriver); }