我有一个用Primefaces(tieredMenu)制作的菜单。它呈现如下html。我需要点击第一个菜单项(<a class="ui-menuitem-link ui-corner-all configmenuPartner" onclick="PrimeFaces.ab({source:'frm:configmenuPartner',formId:'frm'});return false;" href="#" tabindex="-1">
)的第二个子菜单项。
我正在使用以下代码(webdriver 2.44.0 - 即驱动程序)来执行操作:
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();
第一个 moveToElement 似乎正常工作,因为渲染并显示了正确的子菜单,但是selenium没有点击进入第二个子菜单,而是在主菜单的第二个项目中“点击”({ {1}})。
我尝试使用xpath,使用By.xpath(“// * [contains(@class,'configmenuPartner')]”)但结果是一样的。
拜托,你能帮助我指出一条路或给我一些错误吗?
TIA,
鲍勃
<li class="ui-widget ui-menuitem ui-corner-all ui-menu-parent" aria-haspopup="true" role="menuitem">