Options and Services in Safari with Selenium?

Firefox and Chrome provide various options and services to set up browser characteristics while testing. These can be used with Selenium while setting up the driver.

An example with Firefox is setting a custom user agent and a download directory different than the default. Using Python:

from selenium.webdriver.firefox.options import \
            Options as FirefoxOptions
from selenium.webdriver.firefox.service import \
            Service as FirefoxService

firefox_options = FirefoxOptions()

# set up user agent
user_agent = UserAgent().get_user_agent()
firefox_options.set_preference("general.useragent.override", user_agent)

# set alternate download location
firefox_options.set_preference('browser.download.folderList', 2)
firefox_options.set_preference('browser.download.dir', download_dir_path)

Many of these browser-specific options and services are listed at Selenium's website under Supported Browsers.

However, Safari's information is very limited. On Selenium's site, for example, they list how to turn on Safari's limited logging: service = webdriver.SafariService(service_args=["--diagnose"]). Then, they point us to About WebDriver for Safari - which shows automaticInspection and automaticProfiling. The page primarily describes security features for testing with Safari.

In a regular user session, one can configure an alternate download directory, set a custom profile with specific settings for that profile, and so on. And, in the Developer Menu I can set some of these items manually for a given session (user agent, for example).

How can I access these features within Safari for use in automated web testing with Selenium?

Edit: Alternatively, does Apple have, or recommend, a different automated testing package for Safari?

Options and Services in Safari with Selenium?
 
 
Q