Профиль Firefox, установленный через селен, не отображается в браузере, запущенном

Я использую селен 3.7.0 и Firefox 57.0. Я не хочу, чтобы всплывающее окно запрашивало "сохранить" или "открыть" файл, когда мы нажимаем на загрузку из браузера. Файл представляет собой файл.html. Итак, я создаю профиль Firefox, как показано ниже:

    def firefox():

    import os

    profile = webdriver.FirefoxProfile()

    profile.set_preference('browser.download.folderList', 2)
    profile.set_preference('browser.download.manager.showWhenStarting', False)

    profile.set_preference('browser.download.dir', os.path.expanduser("~") + "/Downloads/")
    profile.set_preference('browser.helperApps.neverAsk.saveToDisk', ('text/html'))
    profile.set_preference('app.update.auto', False)
    profile.set_preference('app.update.enabled', False)
    profile.set_preference('app.update.silent', False)
    profile.set_preference('xpinstall.signatures.required', False)

    return webdriver.Firefox(profile)

Но когда браузер открывается и я перехожу к параметрам, я не вижу новых приложений. Это скриншот: Firefox-> параметры-> приложения

Как видите, новое приложение не добавляется, и когда я загружаю html-файл, всплывающее окно все равно появляется.Предполагается ли, что добавленные предпочтения HTML перечислены в приложениях?Если да, что я делаю не так?

Вместо создания нового профиля, если я использую существующий профиль, где HTML добавляется вручную, он работает нормально. Единственное отличие здесь от приведенного выше кода заключается в том, что я предоставляю путь к профилю по умолчанию, как показано ниже:

profile = webdriver.FirefoxProfile('PATH')

Но я хочу использовать новый профиль, так как это хорошая практика. Как я могу решить эту проблему?

0 ответов

Другие вопросы по тегам