无法使用FirefoxProfile和amp;来实例化Marionette驱动程序。 FirefoxDriverService

时间:2016-10-06 08:41:33

标签: c# selenium selenium-webdriver ui-automation firefox-marionette

我目前正在使用适用于Firefox的新Marionette驱动程序更新我的C#解决方案。

我已设法让驱动程序成功启动包含以下代码的网址

        FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(Directory.GetCurrentDirectory(),"wires-0.6.0-win.exe");
        service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";

        FirefoxDriver driver = new FirefoxDriver(service);

        driver.Navigate().GoToUrl("http://www.google.com");

但是我需要在初始化时向驱动程序添加配置文件以设置代理。我以前就像下面这样做(对于较旧的Firefox版本)。

    private static IWebDriver InitialiseFirefoxDriver(Proxy proxy)
    {
        FirefoxProfile profile = new FirefoxProfile();

        if (proxy != null)
        {
            profile.SetProxyPreferences(proxy);
        }

        return new FirefoxDriver(profile);
    }

不幸的是,FirefoxDriver构造函数只允许我传入FirefoxDriverService或FirefoxProfile。有没有人知道我可以设法在创建驱动程序之前(甚至之后)为驱动程序提供两组配置信息?

感谢。

1 个答案:

答案 0 :(得分:0)

这是示例代码使用FirefoxProfile& FirefoxDriverService。我想隐藏CommandPromptWindow和Mute。

FirefoxDriverService service = FirefoxDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
FirefoxProfile _Profile = new FirefoxProfile();
_Profile.SetPreference("media.volume_scale", "0.0");
FirefoxOptions option = new FirefoxOptions();
option.Profile = _Profile;

var driver = new FirefoxDriver(service,option,TimeSpan.FromSeconds(20));
driver.Navigate().GoToUrl("https://www.youtube.com/watch?v=hxiitzCKRek");