webdriverio/query-selector-shadow-dom

Fails to query a selector with special chars

shalev-kaveh opened this issue · 2 comments

Hi @Georgegriff,
First of all thanks for sharing your code! I've been using it for a while and it's working well :)

I've come across, however, a corner case -
trying to query a selector in a shadowDOM in this website.
Querying this selector (each element of the array is a new shadowDom document)
["dps-app", "dps-home-unauth", "dps-card > img[slot="icon-custom"][height="\33 0"]"]
(please note that the last string is automatically backslashed \ into "dps-card > img[slot=\"icon-custom\"][height=\"\\33 0\"]")
image

works in the "classic" way to query shadow selectors:
document.querySelector("dps-app").shadowRoot.querySelector("dps-home-unauth").shadowRoot.querySelector("dps-card > img[slot=\"icon-custom\"][height=\"\\33 0\"]")​
image

However, trying to query it with queryDeep returns null:
(after converting into a queryDeep selector syntax - "dps-app dps-home-unauth dps-card img[slot=\"icon-custom\"][height=\"\\33 0\"]")
image

But, when removing the selector's last funky height attribute - it succeeds!
("dps-app dps-home-unauth dps-card img[slot=\"icon-custom\"]")
image

I'm not sure why it has failed to query with the height attribute, and would really appreciate your help with fixing it.
Thanks!

Hi @Georgegriff , do you have any lead?

Hey sorry, i've had a lot on at the moment, i will eventuaally get to this, in the mean time im always accepting of pull requests