gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:25:15 25 4
gpt4 key购买 nike

我有一个软件可以通过 chrome 浏览器进行自动测试,但现在这个程序失败了,并显示错误消息“Vector smash protection is enabled”。我找到了针对这种情况的解决方案,但该解决方案是通过 java API 实现的。

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);

您还可以在创建 ChromeDriver 对象时发送驱动程序路径。

关于c# - 根据需要传递给 chromedriver 功能Capabilities c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37409317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com