首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DesiredCapabilities的Selenium C# chromedriver

使用DesiredCapabilities的Selenium C# chromedriver
EN

Stack Overflow用户
提问于 2017-02-06 03:00:16
回答 2查看 3.7K关注 0票数 2

我想在C#中使用chrome驱动实例来实现DesiredCapabilities,但从我所能找到的来看,这是不可能的?例如..。

代码语言:javascript
复制
DesiredCapabilities capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability(CapabilityType.UnexpectedAlertBehavior, "accept");               
Driver = new ChromeDriver(@"C:\Development\Projects\SeleniumObservatoryTests\", capabilities);

ChromeDriver似乎需要一些选项。有没有办法提供UnexpectedAlertBehavior作为一种选择?

EN

回答 2

Stack Overflow用户

发布于 2017-04-01 04:53:32

我也没能让它在Chrome上工作。对于火狐,我必须使用DesiredCapabilities,而对于IE,我必须使用InternetExplorerOptions。

但是,我已经用Chrome成功地处理了弹出窗口,并编写了一些代码来处理它。

我的代码发布在下面。我希望它能对你和其他被Modal对话困扰的人有所帮助。

代码语言:javascript
复制
    /// <summary>
    /// Returns a true or false if alert is present.
    /// </summary>
    /// <returns>true or false</returns>
    public static bool IsAlertPresent()
    {
        try
        {
            [YOUR DRIVER HERE].SwitchTo().Alert();
            return true;
        }
        catch (Exception)
        {
            return false;
        }
    }

    /// <summary>
    /// Verifies if an alert is present or not.  If it is, it clicks "Accept".
    /// </summary>
    public static void Alert()
    {
        try
        {
            if (IsAlertPresent())
                [YOUR DRIVER HERE].SwitchTo().Alert().Accept();

        }
        catch (Exception ex)
        {
            ///Log your errors however you must.
        }
    }

我知道这不是什么花哨的东西,但它能完成工作。基本上,它会尝试切换到一个警报,如果存在,则返回true,如果不存在,则返回false。如果为true,则再次切换并单击accept。非常简单。还没让我失望呢。

票数 1
EN

Stack Overflow用户

发布于 2020-07-08 22:19:47

您应该能够添加具有以下内容的功能:

代码语言:javascript
复制
var options = new ChromeOptions();
options.AddAdditionalCapability(CapabilityType.UnexpectedAlertBehavior, "accept");

您也可以忽略该警报:

代码语言:javascript
复制
var options = new ChromeOptions();

options.AddAdditionalCapability(CapabilityType.UnexpectedAlertBehavior, "ignore");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42055979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档