Всем привет! Хочется оптимально сделать навигацию по левой панели. Насколько я понимаю, удобно использовать родительский класс class=“manage-panel” и думала использовать конструкцию вроде leftMenuParent.find(new By.ByCssSelector(“manage-panel__logo”)).parent().click() или с Conditions что-то. Подскажите, пожалуйста, как лучше и оптимальней
<div class="manage-panel__navigation">
<div class="navigation-header">
<div class="navigation-header__link">
<mat-icon class="mat-icon notranslate navigation-header__icon navigation-header__icon_dashboard mat-icon-no-color">
<svg>
<title>dashboard</title>
</svg>
</mat-icon>
</div>
</div>
<div class="navigation-header">
<div class="navigation-header__link">
...
</div>
<div class="navigation-header ng-star-inserted">
<div class="navigation-header__link">
<mat-icon class="mat-icon notranslate navigation-header__icon navigation-header__icon_leads mat-icon-no-color">
<svg></svg>
</mat-icon>
</div>
</div>
</div>
<nav>
<ul class="project-menu ng-star-inserted">
<li class="project-menu__item project-menu__item_setting ng-star-inserted"> тут текст, заданный пользователем в других настройках</li>
<li class="project-menu__item project-menu__item_setting ng-star-inserted"> тут текст, заданный пользователем в других настройках</li>
<li class="project-menu__item project-menu__item_setting ng-star-inserted"> тут текст, заданный пользователем в других настройках</li>
..N
</ul>
</nav>
<div class="navigation-header ng-star-inserted">
<div class="navigation-header__link">
<mat-icon class="mat-icon notranslate navigation-header__icon navigation-header__icon_leads mat-icon-no-color">
<svg></svg>
</mat-icon>
<div class="navigation-header__line ng-star-inserted">
<div class="navigation-header__text">Leads</div>
</div>
</div>
</div>
<div class="navigation-header">
<div class="navigation-header__link">
<mat-icon class="mat-icon notranslate navigation-header__icon navigation-header__icon_reports mat-icon-no-color">
<svg></svg>
</mat-icon>
<span class="navigation-header__text"> Reports </span>
</div>
</div>
<nav class="ng-star-inserted">
<ul class="project-menu">
<li class="project-menu__item ng-star-inserted"> тут текст не меняется</li>
<li class="project-menu__item ng-star-inserted"> тут текст не меняется</li>
<li class="project-menu__item ng-star-inserted"> тут текст не меняется</li>
</ul>
</nav>
</div>
</div>
<upgrade-button class="pt-16"></upgrade-button>
<div class="manage-panel__footer"></div>
asolntsev
(asolntsev)
03.Март.2022 15:43:30
#2
Честно говоря, непонятно, чего вы хотите добиться.
Что вообще означает “оптимально сделать”?
Вы упоминаете селектор manage-panel__logo
, но такого класса в вашем html нет.
Я бы сделал максимально простые селекторы типа $(".manage-panel__navigation .navigation-header__link").click();