C# 当处于W3C模式(Selenium::WebDriver::Error::UnknownCommandError)且Selenium ChromeDriver在C中时,无法调用非W3C标准命令#
这与我们的场景相同 但这些解决方案似乎并不直接适用于C#,因此,与其在评论中询问,我认为更适合开始一个单独的线程 在Chrome升级到v.76之后,我不得不将Chromedriver.exe更新到v.76。我立刻开始发现标题中的错误。搜索该问题时,您会发现从v75开始,“ChromeDriver现在默认以W3C标准兼容模式运行”。建议的解决方法是“在ChromeOptions中指定W3C:false” 我正在寻求有关如何在.net Webdriver中指定此项的帮助 我使用C# 当处于W3C模式(Selenium::WebDriver::Error::UnknownCommandError)且Selenium ChromeDriver在C中时,无法调用非W3C标准命令#,c#,selenium-webdriver,selenium-chromedriver,C#,Selenium Webdriver,Selenium Chromedriver,这与我们的场景相同 但这些解决方案似乎并不直接适用于C#,因此,与其在评论中询问,我认为更适合开始一个单独的线程 在Chrome升级到v.76之后,我不得不将Chromedriver.exe更新到v.76。我立刻开始发现标题中的错误。搜索该问题时,您会发现从v75开始,“ChromeDriver现在默认以W3C标准兼容模式运行”。建议的解决方法是“在ChromeOptions中指定W3C:false” 我正在寻求有关如何在.net Webdriver中指定此项的帮助 我使用ChromeOptio
ChromeOptions选项=新的ChromeOptions()代码>然后我根据需要更新选项,然后再执行driver=newchromedriver(@“c:\WebDriver”,options)代码>
我还没有弄清楚如何添加“w3c”,例如,add#u experimental_选项
在C#Webdriver中不存在 您可以尝试将UseSpectCompliantProtocol设置为false。默认情况下是这样的
在3.141中提供
private const string UseSpecCompliantProtocolOption = "w3c";
private bool useSpecCompliantProtocol = true;
/// <summary>
/// Gets or sets a value indicating whether the <see cref="ChromiumDriver"/> instance
/// should use the legacy OSS protocol dialect or a dialect compliant with the W3C
/// WebDriver Specification.
/// </summary>
public bool UseSpecCompliantProtocol
{
get { return this.useSpecCompliantProtocol; }
set { this.useSpecCompliantProtocol = value; }
}
谢谢你的回复。这似乎合乎逻辑,但并没有消除错误。您使用的是哪个版本的selenium?…现在它似乎已修复。我可以假设3.141是解决方案的必需部分吗?是的,至少对于c#binding来说,这是一个提交。在回答中添加了它。感谢您添加这一点,我刚刚回来说提交引用了selenium-4.0.0-alpha-2,但是变更日志确认它在3.141中。
options.UseSpecCompliantProtocol = false;