HENNGE / arsenic

Async WebDriver implementation for asyncio and asyncio-compatible frameworks
Other
349 stars 52 forks source link

Unable to set prefs in arsenic similar to selenium (download files to default directory) #147

Closed sivagavvala closed 2 years ago

sivagavvala commented 2 years ago

How to set below preference in Chrome using Arsenic. I want to download files in to the path specified by me.

 prefs = {
                "download.default_directory": 'path/to/save/files',
                "download.prompt_for_download": False,
                 "download.directory_upgrade": True,
}

I have tried below,

browser = browsers.Chrome()
additional_options = {
            'prefs': {
                "download.default_directory": 'path/to/save/files',
                "download.prompt_for_download": False,
                "download.directory_upgrade": True,
            }
}

args=['--headless', '--disable-gpu', "--no-sandbox"]
kwargs = {'goog:chromeOptions': dict(additional_options=additional_options, args=args)}

browser = browsers.Chrome(**kwargs)

but getting below error, any lead will be helpful. Would like to know the syntax for how to set prefs to avoid this.

arsenic.errors.UnknownArsenicError: ('invalid argument: cannot parse capability: goog:chromeOptions from invalid argument: unrecognized chrome option: additional_options', None,   <unknown>\n'

Already, an issue is raised in this #143. @ojii, @dimaqq Requesting your help here !