繁体   English   中英

在C3中使用Selenium ChromeDriver在W3C模式下(Selenium :: WebDriver :: Error :: UnknownCommandError)无法调用非W3C标准命令

[英]Cannot call non W3C standard command while in W3C mode (Selenium::WebDriver::Error::UnknownCommandError) with Selenium ChromeDriver in C#

这与在黄瓜Ruby中使用Selenium ChromeDriver在W3C模式下(Selenium :: WebDriver :: Error :: UnknownCommandError)时无法调用非W3C标准命令的情况相同,但是解决方案似乎并不直接应用于C#,而不是直接询问C#。我认为开始单独的线程更合适。

Chrome升级到v.76之后,我不得不将Chromedriver.exe更新到v.76。 我立即开始出现标题错误。 搜索问题后,您会发现从v75开始“ ChromeDriver现在默认以W3C标准兼容模式运行”。 建议的解决方法是“在ChromeOptions中指定w3c:false”。

我正在寻求有关如何在.net Webdriver中指定此内容的帮助

我使用ChromeOptions options = new ChromeOptions(); 然后在执行driver = new ChromeDriver(@"c:\\WebDriver", options);之前,根据需要更新选项driver = new ChromeDriver(@"c:\\WebDriver", options); 我一直无法弄清楚如何添加“W3C”,假的,例如, add_experimental_option不会在C#中的webdriver存在。

您可以尝试将UseSpecCompliantProtocol设置为false。 默认情况下为true。 ChromiumOptions.cs

请参考提交以获取此选项 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; }
        }

设置w3c = false。

options.UseSpecCompliantProtocol = false;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM