Невозможно создать экземпляр драйвера Marionette с помощью FirefoxProfile и FirefoxDriverService

В настоящее время я обновляю свое решение C# с помощью нового драйвера Marionette для Firefox.

Мне удалось получить драйвер, чтобы успешно запустить URL со следующим кодом

        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 ответ

Это пример использования кода 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");
Другие вопросы по тегам