I've imported Selenide shadowCss selector into my project and now trying to click on the element that is under shadow-root. Sadly no luck but I've managed to do it with javascript but how to do it properly with Selenide?
import static com.codeborne.selenide.Selectors.shadowCss;
Trying to click on "Installed products"
<div size="1" class="sc-4444444 blckX">
<company-tab variant="light" class="hydrated">
#shadow-root (open)
<div class="company-tab company-tab--light">
<company-vst class="hydrated"></company-vst>
<div class="company-tab__container">
<div class="company-tab__wrapper">
<div class="company-tab__list" role="tablist">
<div class="company-tab__list" role="tablist">
<ul class="company-tab__list__container" role="presenation">
<li role="presentation" class="company-tab__header company-tab__header--active">
<li role="presentation" class="company-tab__header">
<li role="presentation" class="company-tab__header">
<company-tab-header data-index="2" is-key-press class="hydrated">
<!---->
<button class="company-tab-header company-tab-header--light" role="tab" tabindex="-1" data-index"2">
<span class="company-tab-header__content">
<company-icon class="company-tab-header__icon company-icon company-icon--md hydrated">...</company-icon>
<span>
<span class="company-tab-header__visible-title">Installed products</span>
<span class="company-tab-header__hidden-title" aria-hidden>Installed products</span>
</span>
::after
</button>
.........
JS that managed to capture "Installed products"
document.querySelector('#__next > div > main > div > div > div:nth-child(2) > div.sc-50b84693-2.ebYhch > div > div > div.sc-50b84693-1.dUDDAN > div > company-tab').shadowRoot.querySelector('ul:nth-child(1) >li:nth-child(3) > company-tab-header >button > span >span>span.company-tab-header__hidden-title')
examples of shadowCss use: https://github.com/selenide/selenide/blob/master/src/test/java/integration/ShadowElementTest.java
Using 5.20 Selenide version. Upgrade is not possible in this case.
locating button with shadowCss Selenide:
@And("click installed products")
public void clickInstalledProducts() {
$(shadowCss("button[data-index='2']", "company-tab")).click();
System.out.println("Managed to click");
");
Sadly by text we were not able to find solution, but we managed to catch element with button tag.