RESOLVED FIXED Bug 202589
Unable to Click on Safari 13
https://bugs.webkit.org/show_bug.cgi?id=202589
Summary Unable to Click on Safari 13
Kushang
Reported 2019-10-04 10:36:36 PDT
Selenium tests are broken with the Safari 13 release. Webdriver/SafariDriver is Unable to click on buttons on the page.
Attachments
Issue Reproducible (180.19 KB, image/png)
2019-11-22 12:56 PST, Vikrant Kumar Chauhan
no flags
Radar WebKit Bug Importer
Comment 1 2019-10-04 14:51:01 PDT
Blaze Burg
Comment 2 2019-10-08 08:18:01 PDT
(In reply to Kushang from comment #0) > Selenium tests are broken with the Safari 13 release. Webdriver/SafariDriver > is Unable to click on buttons on the page. Please include more details, such as your system, version of Selenium, and what tests are failing.
Hai Lee
Comment 3 2019-10-09 21:20:43 PDT
The click action seems to be performed, but nothing happens. My logs show that the element (which is a link) is clicked, but the redirection of page does not occurs. Selenium version: 3.141.59 Safari version: both 13.0.1 and STP 93
gerald.ehmayer
Comment 4 2019-10-10 01:28:40 PDT
The click issue still occurs with Safari 13.0.2 on latest macOS 10.15 release.
gerald.ehmayer
Comment 5 2019-10-10 01:36:17 PDT
Can be reproduced with this Java snippet: driver.get("https://the-internet.herokuapp.com/add_remove_elements/"); assert driver.findElementsByCssSelector(".added-manually").size() == 0; WebElement button = driver.findElementByCssSelector(".example > button:nth-child(1)"); button.click(); // issue: nothing happens assert driver.findElementsByCssSelector(".added-manually").size() == 1;
Mark
Comment 6 2019-10-10 01:46:37 PDT
In my testing, it clicks at an offset from where it should be clicking... It clicks slightly below where it is meant to click, so in our case it ends up clicking the button below the one we wanted...
alex.anich
Comment 7 2019-10-10 16:06:38 PDT
I think that these two issues are related: https://bugs.webkit.org/show_bug.cgi?id=202802 A common thread between the broken buttons is an :active psuedo class.
Liam
Comment 8 2019-10-21 14:44:56 PDT
Same issue for me. When is this likely to be fixed? Thanks
Mark
Comment 9 2019-10-29 05:08:23 PDT
Issue still persists in latest Safari Technology preview. When will this be fixed? Are we expected to not bother testing on Safari 13 any more? I can imagine this will lead to a lot of buggy applications in Safari 13 if nobody can do automated testing with it...
Blaze Burg
Comment 10 2019-11-01 12:56:45 PDT
This bug is being actively investigated.
Blaze Burg
Comment 11 2019-11-01 12:57:52 PDT
(In reply to alex.anich from comment #7) > I think that these two issues are related: > > https://bugs.webkit.org/show_bug.cgi?id=202802 > > A common thread between the broken buttons is an :active psuedo class. I don't think they are related. This bug is about a regression in safaridriver and its WebKit parts.
Blaze Burg
Comment 12 2019-11-01 14:52:25 PDT
Vikrant Kumar Chauhan
Comment 13 2019-11-07 11:53:17 PST
I am still facing this issue with STP 93. Please fix it. Thanks.
Ron Kalian
Comment 14 2019-11-08 03:00:51 PST
(In reply to Vikrant Kumar Chauhan from comment #13) > I am still facing this issue with STP 93. Please fix it. > > Thanks. Same here, reproduced issue on STP 95.
boaz
Comment 15 2019-11-11 05:13:58 PST
I am experiencing the same problem with Safari version 13.0.3 (15608.3.10.1.4). The page I load has a clickable button. I am using Python + Selenium + latest Safaridriver. The element is discovered but when I issue a .click() command, nothing happens. The same works fine on FireFox and Chrome. Also, running document.getElementById('element_id').click() on the javaScript console, works. Can someone let know if there is any progress with this issue? Thanks
Dave Arrowsmith
Comment 16 2019-11-14 01:41:05 PST
Preventing me from running Selenium tests on Safari. Works fine on Chrome, Firefox and (on another machine) Safari 12. Mac Mini A1993 OSX 10.14.6 Safari 13.0.3 14608.3.10.10.1 Selenium 3.141.59
jeremy.cattau
Comment 17 2019-11-14 09:05:51 PST
Adding my comment in here as experiencing the same thing.
matthew-renshaw
Comment 18 2019-11-15 01:36:22 PST
I picked an unfortunate time to configure our automated test suite to run in safari for the first time; I'm also encountering this issue. - C# Selenium bindings (v3.141.0) - Safari (13.0.3)
Blaze Burg
Comment 19 2019-11-15 19:09:42 PST
We expect this issue to be fixed in Safari Technology Preview 96.
Chandresh Parmar
Comment 20 2019-11-20 01:42:58 PST
Hi, I am also facing an issue with click action when using xpath and I think it is similar to this one. Using XPATH to click on element, clicks somewhere else instead of given element. However; if I use id of that element, then it works fine. I have to use xpath instead of id as the id is generated dynamically. driver.findElement(By.xpath("//img[@id=’Add’]").click(); - Not working, click on top or below of element driver.findElement(By.id(“a0214”).click(); - Working, click on proper element Is this similar to this? If not, can you please suggest what I am missing here? Thanks, Chandresh Parmar
Jimmy Collazos
Comment 21 2019-11-22 02:43:03 PST
I have the same problem, but in my case is when the element is in shadow-dom Idea: ======= The element exist; but the service can't find and then execute "Window.getComputedStyle" with null, undefined or similar Safaridrier Version: ==================== "included with Safari 13.0.3 (14608.3.10.10.1)" Reproduce Requests: =================== [POST] http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/element -> DATA { using: 'css selector', value: 'shop-app' } -> RESULT { 'element-6066-11e4-a52e-4f735466cecf': 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C' } [POST] http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/execute/sync -> DATA { script: 'return (function (elem) {return (function() {if (this.shadowRoot) {return this.shadowRoot.querySelector(\'shop-home\')}return this.querySelector(\'shop-home\')}).call(elem);}).apply(null, arguments)',  args:   [ { 'element-6066-11e4-a52e-4f735466cecf': 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C', ELEMENT: 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C' } ] } -> RESULT { 'element-6066-11e4-a52e-4f735466cecf': 'node-5D1721C6-39B1-425E-8751-2DF193491171' } [POST] http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/element/node-5D1721C6-39B1-425E-8751-2DF193491171/click ->ERROR-RESULT: A JavaScript exception occured: Argument 1 ('element') to Window.getComputedStyle must be an instance of Element
Ron Kalian
Comment 22 2019-11-22 04:08:22 PST
This issue still reproduces on Safari Technology Preview (STP) release 96.
Vikrant Kumar Chauhan
Comment 23 2019-11-22 12:56:37 PST
Created attachment 384186 [details] Issue Reproducible STILL REPRODUCIBLE with STP 96. I've tested this issue with STP 96 and found it as still reproducible.
Mark
Comment 24 2019-11-24 11:38:13 PST
We also tested it and can still reproduce it in STP 96... So it looks like it has not been fixed.
Natalie
Comment 25 2019-12-02 12:13:39 PST
I have also reproduced the bug in STP 96.
arian.ics
Comment 26 2019-12-17 23:02:18 PST
(In reply to Jimmy Collazos from comment #21) > I have the same problem, but in my case is when the element is in shadow-dom > > Idea: > ======= > The element exist; but the service can't find and then execute > "Window.getComputedStyle" with null, undefined or similar > > > Safaridrier Version: > ==================== > "included with Safari 13.0.3 (14608.3.10.10.1)" > > > Reproduce Requests: > =================== > [POST] > http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/element > -> DATA { using: 'css selector', value: 'shop-app' } > -> RESULT { 'element-6066-11e4-a52e-4f735466cecf': > 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C' } > > [POST] > http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/execute/ > sync > -> DATA { > script: 'return (function (elem) {return (function() {if (this.shadowRoot) > {return this.shadowRoot.querySelector(\'shop-home\')}return > this.querySelector(\'shop-home\')}).call(elem);}).apply(null, arguments)',  > args:   [ { 'element-6066-11e4-a52e-4f735466cecf': > 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C', ELEMENT: > 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C' } ] > } > -> RESULT { 'element-6066-11e4-a52e-4f735466cecf': > 'node-5D1721C6-39B1-425E-8751-2DF193491171' } > > [POST] > http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/element/ > node-5D1721C6-39B1-425E-8751-2DF193491171/click > ->ERROR-RESULT: A JavaScript exception occured: Argument 1 ('element') to > Window.getComputedStyle must be an instance of Element I am also running into this issue calling click or clear on an element inside shadowdom. http://127.0.0.1:4444/wd/hub/session/3957A8DD-87E9-47FA-BBA1-5F3FE9AB511C/element/node-D45B7A71-2F93-49D6-98AD-9821E0A0BCCC/clear Resp: Argument 1 ('element') to Window.getComputedStyle must be an instance of Element
Blaze Burg
Comment 27 2020-01-06 12:14:47 PST
(In reply to arian.ics from comment #26) > (In reply to Jimmy Collazos from comment #21) > > I have the same problem, but in my case is when the element is in shadow-dom > > > > Idea: > > ======= > > The element exist; but the service can't find and then execute > > "Window.getComputedStyle" with null, undefined or similar > > > > > > Safaridrier Version: > > ==================== > > "included with Safari 13.0.3 (14608.3.10.10.1)" > > > > > > Reproduce Requests: > > =================== > > [POST] > > http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/element > > -> DATA { using: 'css selector', value: 'shop-app' } > > -> RESULT { 'element-6066-11e4-a52e-4f735466cecf': > > 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C' } > > > > [POST] > > http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/execute/ > > sync > > -> DATA { > > script: 'return (function (elem) {return (function() {if (this.shadowRoot) > > {return this.shadowRoot.querySelector(\'shop-home\')}return > > this.querySelector(\'shop-home\')}).call(elem);}).apply(null, arguments)',  > > args:   [ { 'element-6066-11e4-a52e-4f735466cecf': > > 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C', ELEMENT: > > 'node-D5A74127-717A-4BFB-8E13-1AE3A6D96A5C' } ] > > } > > -> RESULT { 'element-6066-11e4-a52e-4f735466cecf': > > 'node-5D1721C6-39B1-425E-8751-2DF193491171' } > > > > [POST] > > http://127.0.0.1:4444/session/08D37203-AEDD-43DF-990A-900EC182648A/element/ > > node-5D1721C6-39B1-425E-8751-2DF193491171/click > > ->ERROR-RESULT: A JavaScript exception occured: Argument 1 ('element') to > > Window.getComputedStyle must be an instance of Element > > I am also running into this issue calling click or clear on an element > inside shadowdom. > > http://127.0.0.1:4444/wd/hub/session/3957A8DD-87E9-47FA-BBA1-5F3FE9AB511C/ > element/node-D45B7A71-2F93-49D6-98AD-9821E0A0BCCC/clear > > Resp: Argument 1 ('element') to Window.getComputedStyle must be an instance > of Element Clicks cannot be targeted to innards of a Shadow DOM tree. That behavior is not spec'd, so that needs to happen first. Clicking the element itself should work. File a new bug if it doesn't.
Blaze Burg
Comment 28 2020-01-06 12:14:59 PST
This works in Safari Technology Preview 97 in later.
Duncan Ariey
Comment 29 2020-01-14 08:11:16 PST
(In reply to Brian Burg from comment #28) > This works in Safari Technology Preview 97 in later. I've upgraded to STP 98 and am still experiencing the issue. Safaridriver is unable to click on buttons using standard click methods OR a Javascript click workaround.
Blaze Burg
Comment 30 2020-01-14 09:00:14 PST
(In reply to Duncan Ariey from comment #29) > (In reply to Brian Burg from comment #28) > > This works in Safari Technology Preview 97 in later. > > I've upgraded to STP 98 and am still experiencing the issue. Safaridriver is > unable to click on buttons using standard click methods OR a Javascript > click workaround. Please file a new bug report including steps to reproduce / a reduced test case that I can use to debug. If you need an example of what I'm looking for, this repository is a great starting point. https://github.com/npeceniak/Safari_Iframe_Bug Do not upload confidential/private information to Bugzilla. Instead, go to https://feedbackassistant.apple.com/, create a bug report, and upload information that way. Thanks, Brian Your lovely WebDriver maintainer
Duncan Ariey
Comment 31 2020-01-14 11:30:50 PST
(In reply to Brian Burg from comment #30) > (In reply to Duncan Ariey from comment #29) > > (In reply to Brian Burg from comment #28) > > > This works in Safari Technology Preview 97 in later. > > > > I've upgraded to STP 98 and am still experiencing the issue. Safaridriver is > > unable to click on buttons using standard click methods OR a Javascript > > click workaround. > > Please file a new bug report including steps to reproduce / a reduced test > case that I can use to debug. If you need an example of what I'm looking > for, this repository is a great starting point. > https://github.com/npeceniak/Safari_Iframe_Bug > > Do not upload confidential/private information to Bugzilla. Instead, go to > https://feedbackassistant.apple.com/, create a bug report, and upload > information that way. > > Thanks, Brian > Your lovely WebDriver maintainer Thank you Brian, just filed a report through feedbackassistant with the title "Safaridriver is unable to click on buttons."
Vikrant Kumar Chauhan
Comment 32 2020-01-17 14:47:51 PST
I've tested the original issue with STP 98 and seems to be working fine for me now. Thanks for fixing it. ~ Vikrant
Rafael Lopez
Comment 33 2020-02-10 10:12:18 PST
Hi there! How do I know when STP 98 is included in a final user version. Currently I have 13.0.3 (14608.4.9.1.4) and I'm still having the issue. I assume it doesn't include STP 98 changes. Any page or reference that help me to know when STPs are released to final users? Thanks, Rafael
Slava
Comment 34 2020-02-27 02:50:44 PST
Hi guys, still have a problem with the click method, after clicking nothing happened. Other mac with old safari 12.1.1 (14607.2.6.1.1) and mojave 10.14.5 (18F132) works well. Version 13.0.5 (15608.5.11) Catalina 10.15.3 (19D76) Somebody can give an advice about how to work around it?
Aaron W
Comment 35 2020-03-06 17:37:46 PST
I'm having the same issue still Version 13.0.5 (13608.5.12)
shricbe
Comment 36 2020-03-07 23:22:40 PST
Issue still seen in safari 13. Can someone help on the workaround/fix provided?
Blaze Burg
Comment 37 2020-03-20 09:27:01 PDT
Please stop piling on with comments. This bug is closed and not being monitored. If you still encounter a similar issue while using the latest Safari Technology Preview, please file a bug via feedbackassistant.apple.com or in the Safari Technology Preview menu via "Help > Report an Issue...". Commenting on old bugs about new issues won't get anything fixed for you, and I probably won't even see your comments. A new bug is the right way to go. (WebKit Bugzilla is primarily a way to review and land patches, and is a poor system to track bug reports from users.)
Note You need to log in before you can comment on or make changes to this bug.