Selenium click is not working after upgrading to ios14 and safari14

I have a setup of macOS Catalina with an iPad on iPadOS14/safari14. I have also upgraded both safari and safaridriver on the attached mac. Selenium fails to click and send a text to ios safari and does not even return an error at that point. Below is the sample code I am using:

from selenium import webdriver
from selenium.webdriver.common.by import By

IOSBASECAPS = {
'platformName': 'iOS',
'browserName': 'safari'
}
browser = webdriver.Safari(desiredcapabilities=IOSBASECAPS)

browser.implicitly
wait(5)
browser.get("example url")
searchinput = browser.findelement(By.XPATH, "//a[contains(text(),'Sign in')]").click()
browser.quit()

This used to work on ios13/safari 13 setup but not anymore. Is there any bug in safaridriver/safari or am I doing something wrong here?

Replies

Hi, for me it's the same. It's not possible to trigger clicks on some elements with iOS 14 and safaridriver.

We therefore tried touch-actions in an action-chain.

This works well with iOS 13. But in safari 14 they removed the pointerAction-type "touch" within these action chains.
It returns a "not implemented" response in iOS 14.

Maybe someone can tell us how to resolve this issue?

Hi, I've encountered the same issue.

How about clicking an element using JavaScript?
Although I used WebdriverIO, I managed to click an element on iOS 14 with safaridriver.

I think https://stackoverflow.com/a/11956130/14303272 will help you.

Please note that the approach described in the above does not trigger an click event.