The highest version of Safari for Windows is too old. It's also not able to handle many modern web technologies, so you're better off using either a containerized version of Safari, or sticking to Mac OS to test Safari.
Apparently not possible at the moment (or in the near future from the tone of the following statement).
One Session at a Time, to Mimic User Interaction
Only one Safari browser instance can be active at any given time, and only one WebDriver session at a time can be ...
The short answer is no.
The longer answer is I'm not 100% sure but I'm fairly confident the answer is no.
I've worked at Sauce Labs for a few years now, several of them in support. I've done a lot of hacking to try to make Safari and other Webdriven browsers play nice, and Safari has always been the most impenetrable.
Since creating SafariDriver for Safari ...
Let's get this one out the way. Like fellow contributors already commented below your question, testing Safari on Windows will be an uphill battle since Apple basically dropped this configuration. Since you won't likely be able to run and test the latest Safari browser on Windows, you're just better off setting up a MacOS/Safari node in your Selenium ...
After working on this for a few hours with a colleague and doing some in-browser debugging in Safari we came to the following conclusion:
The element was not visible ('below the fold') and Safari was not able to find the element to then click on.
The solution was to scroll to the area of the page where the element existed
by finding a nearby element ...
It can't be done in Selenium (outside of Java's Robot class), but you can configure your test system(s) to login using Apple's Keychain as this SuperUser answer points out. As a follow up answer points out, you can do wildcard matches on the domains now.
Currently you cannot even load Safari extensions with Selenium anymore, atleast since Selenium 3.x.
If I was building a Safari extension I would write a lot of unit and component test. Then either test the wiring (e.g. end-to-end Smoke tests) manual or with something like Sikuli.
Even the Safari extension developer documentation does not speak about ...
With an earlier version of selenium 2.11 we had option OperaDriverSettings object to set opera binary path
OperaDriverSettings settings = new OperaDriverSettings();
WebDriver driver = new OperaDriver(settings);
Since around selenium 2.15, the OperaDriverSettings object doesn't exist..
another option is ...