在测试我的网络应用程序并获得以下错误时,我无法单击菜单项(创建缺陷...),如图所示
**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>
你能建议吗?
答案 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();
然后尝试单击第二个定位器。如果仍有问题,请尝试在同一操作中链接两个命令。