'Cypress - How to select the sub menu from the menu with no class or id?

Below is the html that I am working on:
`

<li xpath="1">
                <a href="#" onclick="clearNewTabInvoiceDetails()" class="fruit">Fruits<span class="menu-arrow"></span></a>
                <ul class="sub-menu">
                 <li>
                <a href="/apple/Index" onclick="clearNewTabInvoiceDetails()" class="apple">
                    Apples
                </a>
            </li>
            <li>
                <a href="/mango/Index" onclick="clearNewTabInvoiceDetails()" class="mango">
                    Mangoes
                </a>
            </li>
            <li>
                <a href="/banana/Index" onclick="clearNewTabInvoiceDetails()" class="banana">
                    Pineapples
                </a>
            </li>
            </li>

<li xpath="1">
                <a href="#" onclick="clearNewTabInvoiceDetails()" class="drink">Drinks<span class="menu-arrow"></span></a>
                <ul class="sub-menu">
                 <li>
                <a href="/coke/Index" onclick="clearNewTabInvoiceDetails()" class="coke">
                    Coke
                </a>
            </li>
            <li>
                <a href="/fanta/Index" onclick="clearNewTabInvoiceDetails()" class="fanta">
                    Fanta
                </a>
            </li>
          </ul>

There are two menus with the same sub menu class which is . I want to select only one sub menu from ul which is id="main-nav. I want only the sub menus of fruits. I tried #main-nav li::nth-child(1) but, it's not working. There are two () I want to mark all the sub-menus of the first Image of sub menu

Please click here for more detail

`



Solution 1:[1]

You can use the adjacent sibling selector + in CSS to select an element of class sub-menu immediately preceded by an element with class fruit:

.fruit+.sub-menu {
  color: red;
}
<li xpath="1">
  <a href="#" onclick="clearNewTabInvoiceDetails()" class="fruit">Fruits<span class="menu-arrow"></span></a>
  <ul class="sub-menu">
    <li>
      <a href="/apple/Index" onclick="clearNewTabInvoiceDetails()" class="apple">
                    Apples
                </a>
    </li>
    <li>
      <a href="/mango/Index" onclick="clearNewTabInvoiceDetails()" class="mango">
                    Mangoes
                </a>
    </li>
    <li>
      <a href="/banana/Index" onclick="clearNewTabInvoiceDetails()" class="banana">
                    Pineapples
                </a>
    </li>
  </ul>

  <li xpath="1">
    <a href="#" onclick="clearNewTabInvoiceDetails()" class="drink">Drinks<span class="menu-arrow"></span></a>
    <ul class="sub-menu">
      <li>
        <a href="/coke/Index" onclick="clearNewTabInvoiceDetails()" class="coke">
                    Coke
                </a>
      </li>
      <li>
        <a href="/fanta/Index" onclick="clearNewTabInvoiceDetails()" class="fanta">
                    Fanta
                </a>
      </li>
    </ul>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Zach Jensz