[Bug] Suddenly unable to click elements that are considered clickable by WebDriverWait
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.3k
- Forks
- 752
- Avg merge
- 6d 21h
- Merged PRs (30d)
- 8
Description
Description
I'm suddenly facing issues with elements that fail to be clicked, while WebDriverWait considers them to be clickable.
Trying to click those elements with the WebElement .click() method, returns a detail message that reads,
An unknown server-side error occurred while processing the command. Original error: unknown error: Element <div class="c-button__title">...</div> is not clickable at point (566, 483). Other element would receive the click: <div class="c-button--active" style="border-radius: 0.25rem;"></div>
(Session info: chrome=69.0.3497.100)
(Driver info: chromedriver=2.44.609538 (b655c5a60b0b544917107a59d4153d4bf78e1b90),platform=Windows NT 10.0.19045 x86_64)
with a cause that reads
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: unknown error: Element <div class="c-button__title">...</div> is not clickable at point (566, 483). Other element would receive the click: <div class="c-button--active" style="border-radius: 0.25rem;"></div>
(Session info: chrome=69.0.3497.100)
(Driver info: chromedriver=2.44.609538 (b655c5a60b0b544917107a59d4153d4bf78e1b90),platform=Windows NT 10.0.19045 x86_64)
Build info: version: '4.16.1', revision: '9b4c83354e'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.7'
Driver info: io.appium.java_client.android.AndroidDriver
Command: [a22d7629-65b6-4c7c-86b6-132436a6c1e9, clickElement {id=0.7700422711264372-27}]
Capabilities {appium:appActivity: <omitted>, appium:appPackage: <omitted>, appium:autoGrantPermissions: true, appium:automationName: UIAutomator2, appium:databaseEnabled: false, appium:desired: {appActivity: <omitted>, appPackage: <omitted>, autoGrantPermissions: true, automationName: UIAutomator2, newCommandTimeout: 3600, platformName: ANDROID, udid: emulator-5554, uiautomator2ServerInstallTimeout: 60000}, appium:deviceApiLevel: 28, appium:deviceManufacturer: Google, appium:deviceModel: AOSP on IA Emulator, appium:deviceName: emulator-5554, appium:deviceScreenDensity: 160, appium:deviceScreenSize: 1280x800, appium:deviceUDID: emulator-5554, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:newCommandTimeout: 3600, appium:pixelRatio: 1, appium:platformVersion: 9, appium:statBarHeight: 24, appium:takesScreenshot: true, appium:udid: emulator-5554, appium:uiautomator2ServerInstallTimeout: 60000, appium:viewportRect: {height: 728, left: 0, top: 24, width: 1280}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID}
Element: [[AndroidDriver: on ANDROID (a22d7629-65b6-4c7c-86b6-132436a6c1e9)] -> xpath: //div[@class='c-button__title' and text()='Apply All']]
Session ID: a22d7629-65b6-4c7c-86b6-132436a6c1e9
Note that it didn't throw the expected ElementNotInteractableException exception.
Trying to instead click them through the Actions .click(WebElement target) method , I get,
Request failed with status code 501
with,
org.openqa.selenium.WebDriverException: Request failed with status code 501
Build info: version: '4.16.1', revision: '9b4c83354e'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.7'
Driver info: io.appium.java_client.android.AndroidDriver
Command: [a22d7629-65b6-4c7c-86b6-132436a6c1e9, actions {actions=[org.openqa.selenium.interactions.Sequence@870a9f2]}]
Capabilities {appium:appActivity: com.eposnow.till.MainActivity, appium:appPackage: com.eposnow.till, appium:autoGrantPermissions: true, appium:automationName: UIAutomator2, appium:databaseEnabled: false, appium:desired: {appActivity: com.eposnow.till.MainActivity, appPackage: com.eposnow.till, autoGrantPermissions: true, automationName: UIAutomator2, newCommandTimeout: 3600, platformName: ANDROID, udid: emulator-5554, uiautomator2ServerInstallTimeout: 60000}, appium:deviceApiLevel: 28, appium:deviceManufacturer: Google, appium:deviceModel: AOSP on IA Emulator, appium:deviceName: emulator-5554, appium:deviceScreenDensity: 160, appium:deviceScreenSize: 1280x800, appium:deviceUDID: emulator-5554, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:newCommandTimeout: 3600, appium:pixelRatio: 1, appium:platformVersion: 9, appium:statBarHeight: 24, appium:takesScreenshot: true, appium:udid: emulator-5554, appium:uiautomator2ServerInstallTimeout: 60000, appium:viewportRect: {height: 728, left: 0, top: 24, width: 1280}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID}
Session ID: a22d7629-65b6-4c7c-86b6-132436a6c1e9
If the same script is executed through ChromeDriver on Chrome Browser, I get the ElementNotInteractableException exception instead, and I am able to click it through the Actions class. That's why I suspected it was something with Appium.
Environment
- Java 17
- Appium 2.2.3
- Windows 10
- Node.js 18.13.0
- Android 9
- Reproducible on both physical pevice and pmulator
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported WebDriverWait element click and Actions.click(WebElement) paths with the listed Appium 2.2.3, UiAutomator2, Android 9 setup, then compare them with the ChromeDriver behavior. Done means the Appium path reports the expected interaction exception or supports the Actions click consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100