Selenium:无法单击菜单项

时间:2012-11-07 15:26:05

标签: selenium webdriver

在测试我的网络应用程序并获得以下错误时,我无法单击菜单项(创建缺陷...),如图所示

**org.openqa.selenium.ElementNotVisibleException: Cannot click on element**

I would like to click on "Create Defect..."

以下代码点击图像(手形图像),如图所示

driver.findElement(By.xpath("//div[@id='divToolbar']/div/table/tbody/tr/td[2]")).click();

然后菜单打开。现在我想点击菜单项。 我正在使用以下代码

     driver.findElement(By.xpath("html/body/div[10]/div/div/div/div/div/ul/li[1]")).click();

但是我得到了上面提到的异常

这就是我在html中所拥有的:

<div class="mmenu" style="display: block; left: 49px; top: 37px;">
<div class="mmenu-content">
<div class="mmenu-border" style="width: 231px;">
<div class="mmenu-inset" style="width: 231px;">
<div class="mmenu-group first-child last-child">
<div class="mmenu-column first-child last-child">
<h3>
<ul>
<li id="liemx360120335239.81635" class="link" menuuid="emx360120335239.81635">
<span class="icon">
<span>Create Defect...</span>
</li>
<li id="liemx172704021676.66638" class="link" menuuid="emx172704021676.66638">
</ul>
</div>
</div>
</div>
</div>
</div>
</div>

你能建议吗?

2 个答案:

答案 0 :(得分:0)

你试过 driver.findElement(By.xpath(“// span [contains(text(),'Create Defect ...']”))。click();

答案 1 :(得分:0)

我认为你的问题是第二个菜单是不可见的,如果WebDriver在一个看不见的定位器上运行,它会抛出ElementNotVisibleException。 我认为您必须保持第一个菜单打开,因为当您尝试单击它时,第二个菜单是可见的。 我使用Actions类。 尝试做以下事情:

new Actions(getWebDriver()).moveToElement(driver.findElement(By.xpath(...))).perform();

然后尝试单击第二个定位器。如果仍有问题,请尝试在同一操作中链接两个命令。