无法使用网络驱动程序点击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脚本时,将显示叠加层 . 但是没有点击“否”按钮 . 它等待一段时间,浏览器关闭 .

有人可以确定,我犯了错误 .

谢谢

摩西