首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Selenide单击阴影根元素

无法使用Selenide单击阴影根元素
EN

Stack Overflow用户
提问于 2022-08-24 14:15:37
回答 1查看 129关注 0票数 0

我已经将Selenide shadowCss选择器导入到我的项目中,现在尝试单击阴影根目录下的元素。遗憾的是,没有运气,但我设法用javascript做到了,但是如何正确地使用Selenide呢?

代码语言:javascript
复制
import static com.codeborne.selenide.Selectors.shadowCss;

尝试点击“已安装的产品”

代码语言:javascript
复制
   <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

代码语言:javascript
复制
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版本。在这种情况下不可能升级。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 06:15:10

使用shadowCss Selenide定位按钮:

代码语言:javascript
复制
@And("click installed products")
public void clickInstalledProducts() {
    $(shadowCss("button[data-index='2']", "company-tab")).click();
        System.out.println("Managed to click");
");

不幸的是,通过文本,我们无法找到解决方案,但我们设法用按钮标记捕获元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73474740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档