Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据需要传递给chromedriver功能c#_C#_Selenium_Selenium Chromedriver - Fatal编程技术网

根据需要传递给chromedriver功能c#

根据需要传递给chromedriver功能c#,c#,selenium,selenium-chromedriver,C#,Selenium,Selenium Chromedriver,我有一个通过chrome浏览器进行自动测试的软件,但是现在这个程序失败了,错误消息是“Vector smash protection is enabled(向量粉碎保护已启用)” 我已经找到了这个案例的解决方案,但是这个解决方案是通过JavaAPI实现的 DesiredCapabilities capabilities = DesiredCapabilities.chrome(); capabilities.setCapability("chrome.switches", Arrays.asLi

我有一个通过chrome浏览器进行自动测试的软件,但是现在这个程序失败了,错误消息是“Vector smash protection is enabled(向量粉碎保护已启用)” 我已经找到了这个案例的解决方案,但是这个解决方案是通过JavaAPI实现的

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--incognito"));
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
WebDriver driver = new ChromeDriver(capabilities);
如何通过c#?

实现与上述相同的代码您需要一个字典

// Capabilities Values
var imageSetting = new Dictionary<string, object> {{"images", 2}};
var content =      new Dictionary<string, object> {{"profile.default_content_settings", imageSetting}};
var prefs =        new Dictionary<string, object> {{"prefs", content}};

// List of Chromium Command Line Switches 
var options = new ChromeOptions(); 
options.AddArguments( 
     "--disable-extensions", 
     "--disable-features", 
     "--disable-popup-blocking",
     "--disable-settings-window");

// Add the Capabilities
var field = options.GetType().GetField("additionalCapabilities", BindingFlags.Instance | BindingFlags.NonPublic);
if (field != null)
{
     var dict = field.GetValue(options) as IDictionary<string, object>;
     if (dict != null) dict.Add(ChromeOptions.Capability, prefs);
}

// Create the Chrome Driver
var chromeDriver = new ChromeDriver(options);
//功能值
var imageSetting=新字典{{“图像”,2};
var content=newdictionary{{“profile.default\u content\u settings”,imageSetting};
var prefs=新字典{{“prefs”,content};
//命令行开关列表
var options=新的ChromeOptions();
选项。添加参数(
“--禁用扩展”,
“--禁用功能”,
“--禁用弹出窗口阻止”,
“--禁用设置窗口”);
//添加功能
var field=options.GetType().GetField(“additionalCapabilities”,BindingFlags.Instance | BindingFlags.NonPublic);
如果(字段!=null)
{
var dict=field.GetValue(选项)作为IDictionary;
如果(dict!=null)dict.Add(ChromeOptions.Capability,prefs);
}
//创建Chrome驱动程序
var chromeDriver=新chromeDriver(选项);
也可以在创建ChromeDriver对象时发送驱动程序路径