gpt4 book ai didi

c# - Selenium 和 C# 中的 ChromeOptions 和 DesiredCapabilities 关系

转载 作者:太空宇宙 更新时间:2023-11-03 12:30:44 28 4
gpt4 key购买 nike

我一直在寻找关于如何在 Selenium 和 C# 环境中使用 ChromeOptions 和 DesiredCapabilities 的正确文档,但由于它们都是开源的,我只能找到建议(有时它们没有帮助)。我今天的问题是如何设置 ChromeOptions 和 DesiredCapabilities 之间的正确关系。似乎我做的一切都正确,但仍然得到 System.InvalidOperationException: unknown error:cannot parse capability: chromeOptions from unknown error: unrecognized chrome option:Arguments 我的代码如下:

 private static ChromeOptions Ops()
{
var options = new ChromeOptions();
options.AddArgument("--no-startup-window");
options.BinaryLocation = @"C:\path\path\path\chromedriver.exe";
return options;
}
private static DesiredCapabilities Caps()
{
DesiredCapabilities caps = new DesiredCapabilities();
caps.SetCapability(CapabilityType.BrowserName, "chrome");
caps.SetCapability(ChromeOptions.Capability,Ops().ToCapabilities());
return caps;
}
IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), Caps());

找不到传递不正确参数的地方。有人遇到过同样的问题吗?这是 ChromeDriver 版本 2.28 和 selenium WebDriver v 3.3.0 Google Chrome 浏览器版本是 52。

最佳答案

无需设置浏览器名称; ChromeOptions 会为您做到这一点。

根据 this comment

The .NET bindings are moving toward a pattern where DesiredCapabilites should not be used directly, even with RemoteWebDriver. To facilitate that, the ChromeOptions class has a ToCapabilities() method

还有 this comment

Much like --disable-javascript, the chromedriver will not work if you use --no-startup-window. It needs to launch a window to establish the connection with the AutomationProxy.

所以这让我们做到了这一点:

var options = new ChromeOptions();
options.BinaryLocation = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe";

IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), options.ToCapabilities());

但是,您实际上是在运行网格吗?如果您在一台机器上进行测试,那就更简单了:

IWebDriver driver = new ChromeDriver();

关于c# - Selenium 和 C# 中的 ChromeOptions 和 DesiredCapabilities 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42937436/

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