2

this is a well-known difficulty. I found several references (here, here and here), but none seems to work with the scenario with which I am working.

I have a menu made with Primefaces (tieredMenu). It renders a html as follows. I need to click on the second submenu item of the first menu item (<a class="ui-menuitem-link ui-corner-all configmenuPartner" onclick="PrimeFaces.ab({source:'frm:configmenuPartner',formId:'frm'});return false;" href="#" tabindex="-1">).

I'm using the following code (webdriver 2.44.0 - ie driver) to perform the action:

Actions action = new Actions(webdriver);
WebElement mainMenu = webdriver.findElement(By.cssSelector("li.configmenu"));
action.moveToElement(mainMenu).moveToElement(webdriver.findElement(By.cssSelector(".configmenuPartner"))).click().build().perform();

The first moveToElement seems to be working, since the correct submenu is rendered and shown, but instead of clicking into the second submenu, selenium "clicks" in the second item of the main menu (<li class="ui-widget ui-menuitem ui-corner-all ui-menu-parent" aria-haspopup="true" role="menuitem">).

I tried to use xpath, using By.xpath("//*[contains(@class, 'configmenuPartner')]") but the result was the same.

Please, could you help me pointing out a path or showing me some mistake?

TIA,

Bob

<div id="frm:mnuNsmg" class="ui-menu ui-tieredmenu ui-widget ui-widget-content ui-corner-all ui-helper-clearfix" role="menubar" style="width: 13.5em;">
   <div class="ui-helper-hidden-accessible" tabindex="0"></div>
      <ul class="ui-menu-list ui-helper-reset">
         <li class="ui-widget ui-menuitem ui-corner-all ui-menu-parent configmenu ui-menuitem-active" aria-haspopup="true" role="menuitem">
            <a class="ui-menuitem-link ui-corner-all ui-state-hover" tabindex="-1" href="javascript:void(0)"></a>
            <ul class="ui-widget-content ui-menu-list ui-corner-all ui-helper-clearfix ui-menu-child ui-shadow" role="menu" style="left: 162px; top: 0px; z-index: 1031; display: block;">
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem">
                   <a class="ui-menuitem-link ui-corner-all configmenuPartner" onclick="PrimeFaces.ab({source:'frm:configmenuPartner',formId:'frm'});return false;" href="#" tabindex="-1"></a>
                </li>
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
                <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
                ::after
            </ul>
        </li>
        <li class="ui-widget ui-menuitem ui-corner-all ui-menu-parent" aria-haspopup="true" role="menuitem"></li>
        <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
        <li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"></li>
    </ul>
    ::after
</div></div>
Community
  • 1
  • 1
Bob Rivers
  • 5,261
  • 6
  • 47
  • 59

0 Answers0