def get_options(self): if self.get_type() == 'firefox': options = FirefoxOptions() if self.get_args(): for arg in self.get_args().split(): options.add_argument('--' + arg) if self.bin_path: options.binary_location(self.bin_path) if self.get_headless(): options.headless = True if self.get_window_size(): win_size = self.get_window_size().split(',') options.add_argument('--width=' + win_size[0]) options.add_argument('--height=' + win_size[1]) # Set download path options.set_preference('browser.download.folderList', 2) options.set_preference('browser.download.dir', get_download_path()) options.set_preference('browser.download.manager.showWhenStarting', False) options.set_preference('browser.helperApps.alwaysAsk.force', False) options.set_preference('browser.helperApps.neverAsk.saveToDisk', "application/octet-stream") # options.set_preference('browser.helperApps.neverAsk.openFile', "application/octet-stream") elif self.get_type() == 'ie': options = IeOptions() options.ignore_protected_mode_settings = False options.require_window_focus = True options.native_events = False # proceed IE options here else: options = ChromeOptions() if self.get_args(): for arg in self.get_args().split(): options.add_argument(arg) if self.bin_path: options.binary_location(self.bin_path) if self.get_headless(): options.headless = True if self.get_window_size(): options.add_argument('--window-size=' + self.get_window_size()) # Set download path prefs = {} prefs["download.prompt_for_download"] = 0 prefs["download.default_directory"] = get_download_path() options.add_experimental_option("prefs", prefs) return options