无法使用网络驱动程序点击yui-overlay中的“否”按钮
在我的Web应用程序中,单击“保存”按钮时会显示yui-overlay . 使用firebug(已编辑)获取的叠加的代码为
<div id="firstDiv_dialog" class="yui-module yui-overlay yui-panel" ...>
<div class="hd" ... id="addCoveredMember_dialog_h">Title Displayed</div>
<div id="secondDiv">
<div class="xyz-message-container">
<div class="xyz-message-info-qw">
<ul class="actionMessage">
<li><span>some text displayed ?</span></li></ul>
</div>
</div>
<div id="confirmationdialog_div" class="qw-separate-form-action-panel">
<div class="xyz-actionpanel">
...
<span class="xyz-actionpanel-item">
<span id="xyz-widget-button-btnConfirmNo-span"><span id="btnConfirmNo" class="yui-button yui-push-button">
<span class="first-child"><button type="button" tabindex="1002" id="btnConfirmNo-button">NO</button></span></span></span>
<script>
...
</script>
</span>
<script>
...
</script>
</div></div>
</div><a class="container-close" href="#">Close</a></div>
我的目标是单击否按钮
我用过的各种webdriver语句都是
-
driver.findElement(By.cssSelector("#btnConfirmNo-button")).click();
-
driver.findElement(By.xpath("//span[@id=\"btnConfirmNo\"]/span/button[@id=\"btnConfirmNo-button\"]")).click();
-
driver.findElement(By.xpath("//div[@class=\"xyz-actionpanel\"]/span[@class=\"xyz-actionpanel-item\"]/span[@id=\"xyz-widget-button-btnConfirmNo-span\"]/span/span/button[@id=\"btnConfirmNo-button\"]")).click();
-
driver.findElement(By.id("btnConfirmNo-button")).click();
-
driver.findElement(By.xpath(".//button[.='NO']")).click();
-
driver.switchTo().frame(driver.findElement(By.id("addCoveredMember_dialog_c")));
WebElement noAddCoveredMemberBtn_visible =(new WebDriverWait(driver,20))
. 直到(ExpectedConditions.visibilityOfElementLocated(通过
.xpath("//div[@class=\"felix-actionpanel\"]/span[@class=\"felix-actionpanel-
item \“] / span [@id = \”xyz-widget-button-btnConfirmNo-span \“] / span / span / button [@id = \”btnConfirmNo-button \“]”)));
driver.findElement(By.xpath(".//button[.='NO']")).click();
我也试过切换到框架(虽然我怀疑它是否在这种情况下是相关的)
driver.switchTo().frame(driver.findElement(By.id("firstDiv_dialog")));
执行脚本后显示的各种异常是
-
ElementNotVisibleException:
-
StaleElementReferenceException和
-
超时异常
观察:
运行webdriver脚本时,将显示叠加层 . 但是没有点击“否”按钮 . 它等待一段时间,浏览器关闭 .
有人可以确定,我犯了错误 .
谢谢
摩西