0

在测试我的 web 应用程序并出现以下错误时,我无法单击如图所示的菜单项 (Create Defect...)

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

我想点击

下面的代码点击图片(手图)如图

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>

你能建议吗?

4

2 回答 2

0

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

于 2012-11-07T16:14:01.077 回答
0

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

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

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

于 2012-11-07T20:07:19.553 回答