Selenium webdriver动作不能使用primefaces tieredmenu

时间:2015-03-02 13:51:56

标签: java selenium primefaces selenium-webdriver

这是一个众所周知的难题。我找到了几个引用(hereherehere),但似乎没有一个与我工作的场景一起使用。

我有一个用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">

0 个答案:

没有答案