我已经将Selenide shadowCss选择器导入到我的项目中,现在尝试单击阴影根目录下的元素。遗憾的是,没有运气,但我设法用javascript做到了,但是如何正确地使用Selenide呢?
import static com.codeborne.selenide.Selectors.shadowCss;尝试点击“已安装的产品”
<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
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')shadowCss使用示例:https://github.com/selenide/selenide/blob/master/src/test/java/integration/ShadowElementTest.java
使用5.20 Selenide版本。在这种情况下不可能升级。
发布于 2022-08-29 06:15:10
使用shadowCss Selenide定位按钮:
@And("click installed products")
public void clickInstalledProducts() {
$(shadowCss("button[data-index='2']", "company-tab")).click();
System.out.println("Managed to click");
");不幸的是,通过文本,我们无法找到解决方案,但我们设法用按钮标记捕获元素。
https://stackoverflow.com/questions/73474740
复制相似问题