gpt4 book ai didi

c# - 无法使用 C# 使用 Selenium WebDriver 以隐身模式启动 Chrome

转载 作者:行者123 更新时间:2023-11-30 20:35:21 28 4
gpt4 key购买 nike

我正在尝试在隐身模式下使用 Selenium WebDriver 启动 Chrome,但无法完成。我尝试了所有选项但无法启动。下面是我的代码片段

case "chrome":
ChromeOptions options = new ChromeOptions();
options.AddArgument("--incognito"); //Line XYZ
desiredCapabilities = DesiredCapabilities.Chrome();
desiredCapabilities.SetCapability(ChromeOptions.Capability, options);
break;

var capabilities = BuildDesiredCapabilities();
webDriver = new RemoteWebDriver(new Uri(gridHubURL), capabilities,
TimeSpan.FromSeconds(ApplicationConfiguration.RemoteDriverTimeOutValue));

任何人都可以帮我看看我做错了什么吗?我还在 XYZ 行中尝试了以下代码选项

任何指示都会很有帮助。

编辑1请在此处找到更新后的代码。

 public IWebDriver CreateDriver()
{
var capabilities = BuildDesiredCapabilities();
webDriver = new RemoteWebDriver(new Uri(gridHubURL), capabilities,
TimeSpan.FromSeconds(ApplicationConfiguration.RemoteDriverTimeOutValue));
webDriver.Manage().Window.Maximize();
webDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(ApplicationConfiguration.TimeOutValue));
webDriver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(ApplicationConfiguration.TimeOutValue));
return webDriver;
}

private DesiredCapabilities BuildDesiredCapabilities()
{
DesiredCapabilities desiredCapabilities;
switch (browserName.ToLower())
{
case "firefox":
desiredCapabilities = DesiredCapabilities.Firefox();
break;
case "chrome":
desiredCapabilities = DesiredCapabilities.Chrome();
desiredCapabilities.SetCapability("chrome.switches", "--incognito");
break;
case "ie":
desiredCapabilities = DesiredCapabilities.InternetExplorer();
desiredCapabilities.SetCapability("ie.ensureCleanSession", true);
break;
default:
desiredCapabilities = DesiredCapabilities.Firefox();
break;
}
return desiredCapabilities;
}

最佳答案

.NET 绑定(bind)引入了特定于浏览器的 Options 类,以避免必须知道或理解任意功能值。您在原始代码中使用了这样一个类 ChromeOptions。但是,您错过了一个额外的步骤,即如何将 ChromeOptions 类与 RemoteWebDriver 一起使用。缺少的部分是您应该使用 ToCapabilities() 方法将 ChromeOptions 对象转换为 ICapabilities 对象,RemoteWebDriver 期望。您的代码将类似于以下内容:

var options = new ChromeOptions();
options.AddArgument("incognito");
var capabilities = options.ToCapabilities();
var driver = new RemoteWebDriver(new URI(gridHubURL), capabilities);

关于c# - 无法使用 C# 使用 Selenium WebDriver 以隐身模式启动 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38134935/

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