Here is code to simulate the issue. Safari hangs and could not click 'Continue Shopping'
public static void main(String[] args) {
SafariOptions safariOptions = new SafariOptions();
safariOptions.setUseCleanSession(true);
// safariOptions.setUseTechnologyPreview(true);
DesiredCapabilities safariCapabilities = DesiredCapabilities.safari();
safariCapabilities.setJavascriptEnabled(true);
safariCapabilities.setAcceptInsecureCerts(true);
safariCapabilities.setPlatform(Platform.MAC);
safariCapabilities.setCapability("platformName", Platform.MAC);
safariCapabilities.setVersion("11.2");
safariCapabilities.setBrowserName("safari");
safariCapabilities.setCapability(SafariOptions.CAPABILITY, safariOptions);
WebDriver safariDriver = new SafariDriver(safariCapabilities);
safariDriver.manage().window().maximize();
safariDriver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
safariDriver.get("https://www.shoppersstop.com/");
waitFor(safariDriver, ExpectedConditions.elementToBeClickable(By.xpath("//a[@href='cart']")));
safariDriver.findElement(By.xpath("//a[@href='cart']")).click();
waitFor(safariDriver, ExpectedConditions.elementToBeClickable(By.xpath("//a[text()='Continue Shopping']")));
safariDriver.findElement(By.xpath("//a[text()='Continue Shopping']")).click();
}
public static <T> T waitFor(WebDriver safariDriver, ExpectedCondition<T> condition) {
return new FluentWait<WebDriver>(safariDriver).withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(500, TimeUnit.MILLISECONDS).until(condition);
}